ループで 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"]