【概要】
1.結論
2.具体例
1.結論
上から読み込まれるので書く順番に気をつける!
2.具体例
たとえば、以下の3つの条件を基に出力するプログラムを記載する場合を見てみます。
❶20以下であれば"20以下の数字"と出力
❷20より大きい数字であれば"20より大きい数字"と出力
❸20以下で0以下であれば"0以下の数字"と出力
この場合で以下の記載をしています。
int = gets.to_i
if int <= 20
puts "20以下の数字" #❶
elsif int <= 0
puts "0以下の数字" #❷
else
puts "20より大きい数字" #❸
end
この場合、int に"-1"と記載すると❶の
if int <= 20
puts "20以下の数字"
が反応してしまい、本来出したい❷の出力がされません。
これはプログラムは上から下に順番に読み込まれるためです。(defはあとから読み込み、javascriptの関数宣言は先に読み込まれるといった例外はあります。)
なので❶と❷の順番を入れ替えて
int = gets.to_i
if int <= 0
puts "0以下の数字" #❶
elsif int <= 20
puts "20以下の数字" #❷
else
puts "20より大きい数字" #❸
end
とすると本来の意図を汲み取ったプログラムになります。