これらの2つの関数が異なる動作をする理由を判断できません。私はシンボルや自分の定数を使うことができますが、ここで何が起こっているのかを知りたいと思っています。あなたはClass
あるタイプInteger
を取得しているあなたの変換機能でケースステートメントのクラス
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