Я не могу определить, почему эти две функции ведут себя по-разному. Я мог просто использовать символы или собственные константы, но у меня есть глубокое желание узнать, что здесь происходит (и если я что-то делаю плохо).Занятия в операторах дела
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