gpt4 book ai didi

ruby - 有人可以用 Ruby 向我解释 NaN 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:03:42 28 4
gpt4 key购买 nike

我刚刚在我的程序中的一些数字操作中发现了一个错误,我得到了一个 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) 因为我没有收到日志警告,它会将指标传递给我的指标= 方法,这是我获取 FloatDomainError

的地方

现在,如果我错了,请纠正我,但是 NaN(不是数字)的类型似乎在语义上是错误的吗??谁能给我解释一下?

顺便说一句,使用 Jruby-1.4.1

最佳答案

我认为让 NaN 成为一个数字非常有意义......

在 irb 中尝试 0.0/0.0 -> 结果为 NaN(在本例中为无穷大)

无穷大在数学上是一种数字,但您仍然无法用数据类型来表达它...在数学中您也使用特殊符号...

PS:可以用metric.nan吗?检查它...然后它应该按您预期的那样工作...

关于ruby - 有人可以用 Ruby 向我解释 NaN 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618844/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com