NoMethodError: undefined method `to_d' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
这似乎与其他“ to_”不一致
例如,使用Rails 3.2.14和ruby 1.9.3p362:
1.9.3p362 :055 > nil.to_f
=> 0.0
1.9.3p362 :056 > nil.to_d
NoMethodError: undefined method `to_d' for nil:NilClass
1.9.3p362 :057 > nil.to_s
=> ""
1.9.3p362 :058 > nil.to_i
=> 0
Run Code Online (Sandbox Code Playgroud)
这意味着无论何时我可能想转换为大十进制数时,我首先都必须确保该值不为nil并为它分配一个0值。 ?我应该认为这是一个错误吗?