Techioz Blog

Ruby コードが動作しないようです

概要

num1, num2, num3 = gets
puts "Your first number = Your second number + Your third number. True or 
False?"
puts num1 == num2+num3
print "The sum is </> Your first number"

このプログラムがユーザーから 3 つの数字を受け入れるようにしたいのですが (これは問題なく動作しました)、 ユーザーの入力に基づいて、最初の数値が次の 2 つの数値の合計に等しいこと、およびこれが True または False であることを示すメッセージを表示します。 ありがとう! ☺これが機能しないのはなぜですか?この事故の解決策は何でしょうか?コメントでお知らせください。

解決策

ユーザーに何を入力させたかったのかは完全には明確ではありませんが、gets は単一の文字列を返すので、おそらくそれを空白で区切られた部分に分割する必要があることに注意してください。

num1, num2, num3 = gets.split(/\s+/)

これでユーザーは入力できるようになりました

7 200 83

これら 3 つの項目は、最終的に num1、num2、および num3 になります。ただし、これらは文字列であることにも注意してください。したがって、+ 演算子を使用すると、それらが連結されます。

num2 + num3  =>  "20083"

それらを整数として追加するには、次のようにします。

num2.to_i + num3.to_i  =>  283