我的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个数字的总和,如果这是真或假,则根据用户的输入。 为什么这不起作用? 这次事故的解决方案是什么? 请在评论中告诉我。 谢谢! ☺

您想要用户输入的内容并不完全清楚,但请注意, gets返回一个字符串,因此您可能希望将其拆分为由空格分隔的部分:

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

所以用户现在可以输入

 7 200 83 

这三个项目最终将以num1num2num3 。 但也要注意那些是字符串。 所以使用+运算符将连接它们:

 num2 + num3 => "20083" 

要将它们添加为整数,您可以这样做:

 num2.to_i + num3.to_i => 283 

我觉得你是个新手。 不要为声誉感到沮丧。 我们都是新的一次。 关于你的问题:如果你应该从命令行获取数字,你可以这样做:

 # Get numbers print 'Enter first number: ' num1 = gets.to_i print 'Enter second number: ' num2 = gets.to_i print 'Enter third number: ' num3 = gets.to_i # Find result sum = num2 + num3 result = 'more' if sum > num1 result = 'less' if sum < num1 result = 'equal' if sum == num1 # Show result with interpolation puts "The sum is #{result} your first number" 

Ps它可能对您有所帮助: https : //stackoverflow.com/help/how-to-ask

好的,谢谢你。 会继续努力!