【发布时间】:2016-11-14 14:49:54
【问题描述】:
我正在尝试检查我的 Ruby on Rails 应用程序中的变量是否等于 NaN。
我看到了这个answer,但它并不是很有用,因为在我的代码中,如果变量是 NaN,我想返回 0,否则返回值:
return (average.nan ? 0 : average.round(1))
问题是,如果数字不是 NaN,我会收到此错误:
NoMethodError: undefined method `nan?' for 10:Fixnum
我无法检查数字是否是 Float 实例,因为它在两种情况下都是(可能,我正在计算平均值)。 我能做些什么? 奇怪的是,检查变量是否等于 NaN 的函数仅对 NaN 对象可用?
【问题讨论】:
-
this 可能是你的答案。
-
你在寻找average.nil吗?
-
@nikkypx for nil 检查这需要完成
average.to_i.nil? -
@AAnkudovich 不,您可以在任何对象上调用 nil,nil 对象上的 to_i 将为 0,所以您的示例将是 0.nil?
-
我明白你的意思很抱歉