-1

我有这个功能:

def func()
  puts "Give a value for x \n>"
  x = gets.chomp
  puts "Give a value for y \n>"
  y = gets.chomp

  z = x + y
  puts z
end

如果用户输入5forx5for y,我想zmake5 + 5和 print 10,但这会打印出来55

4

3 回答 3

1

您读取的值存储为字符串,并且使用字符串,+运算符执行连接。如果要执行整数运算,则需要将两个输入都转换为整数:

z = x.to_i + y.to_i
于 2013-01-24T17:27:22.290 回答
1

到达那里的另一种方式:

x = '5'
y = '5'

[x, y].map(&:to_i).inject(:+)
=> 10
于 2013-01-24T17:46:20.283 回答
0
z = x.to_i + y.to_i

只需将输入字符串转换为整数或浮点数 ( to_f)

于 2013-01-24T17:27:19.213 回答