我写了一个小程序来测试Textmate 2(我对Ruby很新),并且由于某些原因它正在吐出4 + 9 = 49而不是13。
def add(x,y)
c = x + y
return c
end
puts "please enter a value "
a = gets.chomp
puts "please enter another value "
b = gets.chomp
printMe = add(a,b)
puts printMe
答案 0 :(得分:7)
因为gets
返回一个字符串:
def add(x,y)
c = x + y
end
puts "please enter a value "
a = gets.to_i
puts "please enter another value "
b = gets.to_i
printMe = add(a,b)
puts printMe
答案 1 :(得分:0)
默认我将输入视为字符串,我猜,尝试:
def add(x,y)
(x.to_i + y.to_i)
end
此外,无需返回ruby或放在变量c中,它会自动返回最后一行代码作为输出
答案 2 :(得分:0)
如果您执行了puts printMe.inspect
,那么您就可以看到它是"49"
,而不是49
,a
和b
是{{1}}字符串。有关更多调试提示,请参阅How do I debug Ruby scripts?