如何从同一行获取多个输入?

时间:2014-07-04 06:05:58

标签: ruby input

我无法弄清楚如何从一条线路中获取多个输入。这是一个例子:

p=gets.chomp().to_i
q=gets.chomp().to_i
puts"#{p} #{q}"

当我运行此操作并接受输入时,我必须从新行开始。如,

3
4
output:
3 4

如果我输入

3 4

它没有将4作为输入,正在等待下一行的另一个输入。该怎么办?

1 个答案:

答案 0 :(得分:4)

gets读完整行。如果你想从中处理多个元素,你需要在该行上split,或者在它上面执行正则表达式匹配等。在你的情况下:

p, q = gets.split.map(&:to_i)

顺便说一下,在您的代码中,chomp调用是多余的,因为to_i无论字符串是否以换行符结尾都能正常工作。