【发布时间】:2012-03-05 01:35:03
【问题描述】:
我无法确定这两个函数的行为为何不同。我可以只使用符号或我自己的常量,但我非常想知道这里发生了什么(以及我是否在做坏事)。
def convert(value, type)
case type
when Integer
value.to_i
when String
value.to_s
else
value
end
end
def convert_with_if(value, type)
if (type == Integer)
value.to_i
elsif (type == String)
value.to_s
else
value
end
end
n = 4.4
p convert(n, Integer) #=> 4.4
p convert_with_if(n, Integer) #=> 4
【问题讨论】:
标签: ruby class if-statement switch-statement