无法使用方法获得动态输出

时间:2015-08-06 19:17:04

标签: ruby

我对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

1 个答案:

答案 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,以略微提高输出可读性。