嵌ったのでメモしておきます。
Ruby 1.9.3 で動作確認しています。
1-2+3 を計算したいとします。
普通に計算させるとこうなります。
> p 1-2+3
2
ところが、(何かの拍子に)1 のうしろにドットを入れてしまうとこうなります。
> p 1.-2+3 # 1-2+3 または 1.0-2+3 を計算しているつもり
-4 # 予想外
これは、ドットの直後の "-" が数学の演算子ではなくメソッドと解釈されたので、
後ろの演算が先に評価され、1-(2+3) の結果が返ってきたのだと思います。
もう少し分かりやすく書くとこうなります。
1.minus(2+3)
ここで minus は a.minus(b) において a-b の結果を返すメソッドを表します。
ちなみに、ドットのうしろに 0 を入れると "1.0" が実数と解釈されるので
> p 1.0-2+3
2.0
となります。