如何从 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 中工作