使用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
谢谢你的帮助!
我不知道有哪个运算符可以这样工作,所以我会这样做,不是最好的答案,但仍然是一个。
result=[]
while input = gets do
input.split(' ').each do |value|
result << value.chomp
end
end