1

假设我想在循环中获取 10 个输入并将其存储在一个数组中。输入将是字符串或行或 json 字符串。

我知道 Ruby uptogets.chomp但我正在寻找一种简单而懒惰的技术,例如:

n=10
arr = []
loop(n) { arr.push getline }  #Just an example to share my thought. Will not work
4

3 回答 3

5

不知道这是否足够“简单和懒惰”:

irb> 3.times.collect { gets.chomp }
foo
bar
baz
# => ["foo", "bar", baz"]
于 2013-07-25T07:49:37.000 回答
4

Array.new.

Array.new(3){gets.chomp}
于 2013-07-25T08:14:06.047 回答
0
(1..3).map {gets.strip!}

这很好用,并且在条目之前和之后都没有噪音。

在 1.9 和 2.0 中有效。

>> (1..3).map {gets.strip!}
Hello
1
2
=> ["Hello", "1", "2"]
于 2013-07-25T08:21:42.570 回答