如果我想查看字符串是否是有效整数,我可以这样做:
puts Integer('1') #=> 1
因为任何非整数都会引发错误:
puts Integer('a') #=> invalid value for Integer(): "a" (ArgumentError)
如果我想确保我的变量是Float和Integer,我不想重复自己,所以我尝试将这些类放在一个列表中:
x = '1'
[Integer, Float].each{|c| puts c(x) } #=> undefined method `c' for main:Object (NoMethodError)
有人会解释为什么这不起作用,如果有某种方法可以实现我想要的东西?什么样的方法调用是Integer(var)
?
注意,我没有现实世界的问题我想在这里解决,我只是好奇。