我对ruby很新,而且我用动态值的参数编写了方法,但是我在动态传递值时没有得到预期的结果。任何人都可以帮我解决下面代码中的问题
def addition (digit1,digit2)
puts "Sum of the two digits are #{digit1+digit2}"
end
print "Enter the First Value"
d1 = gets
print "Enter the Second Value"
d2 = gets
addition(d1,d2)
gets
答案 0 :(得分:1)
gets
返回一个String。因此,您将两个字符串传递给addition
方法,并且+
中的.to_i
在两个字符串上完成它的工作:它将它们连接起来。
为了将数字传递给该功能,您可以在gets
的结果上调用def addition (digit1, digit2)
puts "Sum of the two digits are #{digit1 + digit2}"
end
puts "Enter the First Value"
d1 = gets.to_i
puts "Enter the Second Value"
d2 = gets.to_i
addition(d1,d2)
gets
将其转换为数字。
所以,这是经过调整的代码:
print
以下是它的工作原理:http://ideone.com/nyXJbH
请注意,我还将puts
语句转换为UITextView
,以略微提高输出可读性。