Rubyでコードを正しく書くにはどうすればよいでしょうか?それで正しい出力が生成されるでしょうか?
概要
そういうことをやってみたいです。
puts "Please write your age: "
age = gets.chomp
if #{age}<18
puts "you are illegal"
else #{age}>18
puts "You are legal"
end
私が得る出力は次のとおりです:
「あなたの年齢を書いてください」 15. あなたは違法です あなたは合法です」
この
「あなたの年齢を書いてください 20 あなたは違法です あなたは合法です」
なぜ? そして、解決策は何ですか?
私が期待しているのはこれです 19歳以上と書くと「あなたは合法です」と表示されます 17 と書くと または以下の任意の番号 「あなたは違法です」と言われます
解決策
#{} は文字列補間に使用されますが、そこには必要ありません。また、else ステートメントはこのように機能しません (elsif は機能します)。文字列を整数に変換する必要もあります。次のように書くことができます:
puts "Please write your age: "
age = gets.chomp.to_i
if age > 18 # Since you want 19 or older. You could use age > 17 or age >= 18 if you actually meant 18 or older.
puts "You are of legal age"
else
puts "You are not of legal age"
end
Ruby の if と else について説明した記事を参照してください。