Rubyの除算について
Rubyの除算は、演算対象となる値によって挙動が異なるようです。
今回は初めてのRubyの3.2.1の除算の項目あたりを参考にしました。
- 作者: Yugui
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/06/26
- メディア: 大型本
- 購入: 27人 クリック: 644回
- この商品を含むブログ (251件) を見る
大きな特徴して以下のことが挙げられます。
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
やはり整数の除算では例外となり、エラーが返ってきました。
便利なのか不便なのかわかりませんが、他の言語はまた違うのでしょうか。
時間があれば調べてみたいと思います。