我刚刚在我的程序中发现了一些数字操作的错误,我得到了一个FloatDomainError (NaN)
所以我开始记录传入的号码:
if(metric.is_a?(Numeric))
self.metric = metric
else
LOGGER.warn("metric #{metric} is not a number")
self.metric=0
end
但是传入的数字NaN
显然是is_a?(Numeric)
因为我没有收到日志警告,并且它将度量传递给我的 metric= 方法,这是我得到我的FloatDomainError
NaN
现在,如果我错了,请纠正我,但是(Not A Number) 是 Numeric 类型在语义上似乎不是错误的吗?谁可以给我解释一下这个?
顺便说一句,使用 Jruby-1.4.1