我的Ruby代码似乎不起作用

我的Ruby代码似乎不起作用,ruby,Ruby,我想这个程序接受3个数字从用户的工作正常和 显示消息,说明第一个数字等于接下来两个数字的总和,如果这是真的或假的,则根据用户的输入。 为什么这不起作用?这场灾难的解决方案是什么?请在评论中告诉我。非常感谢。☺ 您不完全清楚希望用户键入什么,但请注意gets返回一个字符串,因此您可能希望将其拆分为由空格分隔的部分: num1, num2, num3 = gets puts "Your first number = Your second number + Your third number. Tr

我想这个程序接受3个数字从用户的工作正常和 显示消息,说明第一个数字等于接下来两个数字的总和,如果这是真的或假的,则根据用户的输入。
为什么这不起作用?这场灾难的解决方案是什么?请在评论中告诉我。非常感谢。☺

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

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"
因此,用户现在可以键入

num1, num2, num3 = gets.split(/\s+/)
这三个项目将以num1、num2和num3结束。但也要注意,这些都是字符串。因此,使用+运算符将它们连接起来:

7 200 83
要将它们添加为整数,可以执行以下操作:

num2 + num3  =>  "20083"

我看你是个新手。不要为名声而烦恼。我们曾经都是新人。关于您的问题:如果您想从命令行获取数字,可以执行以下操作:

num2.to_i + num3.to_i  =>  283

另外,它可能会对您有所帮助:

我希望此程序接受用户提供的3个数字,这些数字工作正常,您确定吗?我认为你的平行作业不如你想象的那样有效。这样就不会提示用户回答您的问题。我也不知道该怎么办?老实说,很明显,您并不完全确定这段代码是如何工作的。最好的办法是先做一个教程,然后再回到这个练习/程序。也许可以尝试gets.split并输入类似于1 2 3的输入。此外,要在字符串中插入内容,可以使用print,其和为{num2+num3}。这感觉像是一个家庭作业,在询问之前,您实际上没有花时间进行实验并了解自己。我建议您接受@SagarPandya建议。scan/\d+/可能对数字更有意义。是的,尽管原始问题需要指定预期的输入。它甚至可能不是整数。
# 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"