#quo: と #rem: は誰がために。
基本的なことを知らないと言えば、#// と #quo: 、#\\ と #rem の違いです。
#// は 商の整数部を #\\ はその余りを求める メソッドです。一方の #quo: と #rem: も それぞれ 商の整数部と 剰余を求めるメソッドで、「はてな、なんで同じモノが二つあるんだろう」と言った具合です。
猫は #// と #quo: って、同じ処理の単なる別名だと思っていたのですが、本当は細かいところで動きが違う、別のメソッドでした。
9 // 2 "-->" 4 9 // -2 "-->" -5 -9 // 2 "-->" -5 -9 // -2 "-->" 4 9 quo: 2 "-->" 4 9 quo: -2 "-->" -4 -9 quo: 2 "-->" -4 -9 quo: -2 "-->" 4
結果がマイナスだったとき、 #// は 結果をマイナスに近づけます。一方 #quo: は結果を 0 に近づけます。#\\ は #// に対する余り、 #rem: は #quo: に対する余りなので、当然
-9 \\ 2 "-->" 1 -9 rem: 2 "-->" -1
になります。うーん、こんな基本的なところを知らないで・・・orz. ここは一つ、「また一歩お利口さんになっちゃった。てへ♪」と言うことにしておきましょう。