Rubyの除算について

Rubyの除算は、演算対象となる値によって挙動が異なるようです。
今回は初めてのRubyの3.2.1の除算の項目あたりを参考にしました。

初めてのRuby

初めてのRuby


大きな特徴して以下のことが挙げられます。

  • 除算演算子(/)の両辺がともにIntegerオブジェクトの場合、演算子は整除を行う。
  • 少なくとも一方がFloatオブジェクトの場合、実数除算が行われる。
irb(main):012:0> 3.class
=> Fixnum
irb(main):013:0> 3.0.class
=> Float
irb(main):008:0> 3/2
=> 1
irb(main):009:0> 3.0/2
=> 1.5
irb(main):010:0> 3/2.0
=> 1.5
irb(main):011:0> 3.0/2.0
=> 1.5

FixnumはIntegerクラスのサブクラスです。
続いてゼロ除算をしてみます。

irb(main):017:0> 7/0
ZeroDivisionError: divided by 0
        from (irb):17:in `/'
        from (irb):17
        from /usr/local/bin/irb:12:in `<main>'
irb(main):018:0> 7/0.0
=> Infinity
irb(main):019:0> 7.0/0
=> Infinity
irb(main):021:0> -7.0/0
=> -Infinity
irb(main):023:0> 0.0/0
=> NaN

やはり整数の除算では例外となり、エラーが返ってきました。

コンピュータにおけるゼロ除算
http://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E9%99%A4%E7%AE%97#.E3.82.B3.E3.83.B3.E3.83.94.E3.83.A5.E3.83.BC.E3.82.BF.E3.81.AB.E3.81.8A.E3.81.91.E3.82.8B.E3.82.BC.E3.83.AD.E9.99.A4.E7.AE.97

便利なのか不便なのかわかりませんが、他の言語はまた違うのでしょうか。
時間があれば調べてみたいと思います。