『たった2日でできるRuby』ここまでの復習(1日目)の解答例です。
puts("あなたの名前は?") name = gets puts("こんにちは、#{name}")
SALESTAX = 1.05 puts("商品の金額を入力してください。") price = gets.to_i price = price * SALESTAX puts("消費税を合わせた金額は #{price} 円です。")
puts("摂氏を入力してください。") celsius = gets.to_f fahrenheit = (9.0 / 5) * celsius + 32 puts("摂氏 #{celsius} 度は、華氏 #{fahrenheit} 度です。")
「(9 / 5)」ではなく「(9.0 / 5)」としているのは、整数ではなく浮動小数点数として計算結果を得たいからです。整数で計算してしまうと、正確な計算ができません。
puts("華氏を入力してください。") fahrenheit = gets.to_f celsius = (5.0 / 9) * (fahrenheit - 32) puts("華氏 #{fahrenheit} 度は、摂氏 #{celsius} 度です。")
puts("1つめの整数を入力してください。") number1 = gets.to_i puts("2つめの整数を入力してください。") number2 = gets.to_i if number1 == number2 then puts("1つ目の整数は2つ目の整数と等しいです。") elsif number1 < number2 then puts("1つめの整数は、2つめの整数より小さいです。") else puts("1つめの整数は、2つめの整数より大きいです。") end
puts("西暦を入力してください。") seireki = gets.to_i if seireki < 1989 then puts("まだ平成になっていません。") elsif seireki == 1989 then puts("西暦 1989 年は、平成元年です。") else puts("西暦 #{seireki} 年は、平成 #{seireki - 1988} 年です。") end
「平成元年です。」と表示させるところが難しいかもしれませんね。ここではもっとも単純と思われる例を挙げましたが、他にもいろいろなやり方が考えられます。
puts("平成を入力してください。") heisei = gets.to_i if heisei == 1 then puts("平成元年は、西暦 1989 年です。") else puts("平成 #{heisei} 年は、西暦 #{heisei + 1988} 年です。") end