Rubyでファイルから一度に複数行を読み取るにはどうすればよいですか?
を使用してみeach_slice(2)
ましrequire 'enumerator'
たが、機能しません。次のエラーが表示されます。
undefined method `each_slice' for #<String:0x877d12c> (NoMethodError)
Rubyでファイルから一度に複数行を読み取るにはどうすればよいですか?
を使用してみeach_slice(2)
ましrequire 'enumerator'
たが、機能しません。次のエラーが表示されます。
undefined method `each_slice' for #<String:0x877d12c> (NoMethodError)
と の両方IO
に列挙子があり、これを呼び出すことができString
ます。lines
each_slice
irb(main):004:0> STDIN.lines.each_slice(2).take(2)
a
a
b
c
=> [["a\n", "a\n"], ["b\n", "c\n"]]
もちろんSTDIN
、他のIO
インスタンス (開いているファイル) で置き換えることもできます。文字列を使ったデモ:
irb(main):005:0> "a\na\nb\nc".lines.each_slice(2).to_a
=> [["a\n", "a\n"], ["b\n", "c"]]
これらはどちらも Ruby >= 1.8.7 で動作します