rubyでなんかバッチ回してたら、普段見ないエラーに遭遇した
rake aborted! ArgumentError: comparison of Float with -6.94 failed
ウチなんも悪いことしてないのにとか思ってたけど、やっぱり悪かった
原因
NaNのせい
当然だが、rubyでは0で割ろうとすると例外が発生する
irb(main):005:0> 0/0 ZeroDivisionError: divided by 0
が、floatに変換して割ると例外は発生しない そしてNaNが返ってくる
[4] pry(main)> 0/0.to_f => NaN
で、本来小数点が入るであろう配列をsortしようとしたので
> [0,1,2,0/0.to_f,3,4].sort ArgumentError: comparison of Fixnum with NaN failed
冒頭のエラーが発生したというわけ