假设我想在循环中获取 10 个输入并将其存储在一个数组中。输入将是字符串或行或 json 字符串。
我知道 Ruby upto
,gets.chomp
但我正在寻找一种简单而懒惰的技术,例如:
n=10
arr = []
loop(n) { arr.push getline } #Just an example to share my thought. Will not work
不知道这是否足够“简单和懒惰”:
irb> 3.times.collect { gets.chomp }
foo
bar
baz
# => ["foo", "bar", baz"]
Array.new
.
Array.new(3){gets.chomp}
(1..3).map {gets.strip!}
这很好用,并且在条目之前和之后都没有噪音。
在 1.9 和 2.0 中有效。
>> (1..3).map {gets.strip!}
Hello
1
2
=> ["Hello", "1", "2"]