使用Ruby,我想从STDIN一次一个地读取和操作整数。有多行空格分隔整数:
3 67 41 20
6 21 433 25 1 6
5 2 3 5
在C ++中,istream::operator>>
会自动跳过空格,无论是空格还是换行符,并连续读取所有整数:
cin >> val;
foo(val);
在Ruby中,我能找到的最好的就是它,它会在一行的末尾被捕获:
val = gets(' ')
我也尝试了scanf.rb
,但这似乎只读取了一个整数,然后丢弃了其余部分:
require 'scanf.rb'
N.times do
p scanf("%d")
end
感谢您的帮助!
答案 0 :(得分:0)
我知道没有那种方式的运算符,所以我会这样做,不是最好的答案,但仍然是。
result=[]
while input = gets do
input.split(' ').each do |value|
result << value.chomp
end
end