Fixnumの割り算とか
ついついFixnumな値を割り算するところをそのまま a/b とか書いてしまって、「あれれ何この不思議ちゃんエラー」なこと数多だったのだけれど .to_fするのも面倒くさいし、とか思っていたらmathn.rbとか言うものの存在を知った。我ながら無知だ。
irb(main):001:0> 23/343 => 0 irb(main):002:0> require "mathn" => true irb(main):003:0> 23/343 => (23/343)
おぉ、Rationalってるすげえなどうやってんだと思ってみてみたら
class Fixnum remove_method :/ alias / quo :
どわー、rubyのダイナミックっぷりはやっぱ凄いや。何度目の当たりにしてもぶっ飛ぶ。
ついでに**もオーバーライドされていて
irb(main):007:0> (-1)**0.5 => (6.12323399573677e-17+1.0i)
みたいなことができるがわあ誤差誤差。