选自《七周七语言》的 Ruby 部分:
有一个数组,包含 16 个数字。仅用 each 方法打印数组中的内容,一次打印 4 个数字。然后,用可枚举模块的 each_slice 方法重做一遍
我想问如何仅用 each 实现 each_slice 的功能?我的想法很丑陋:
sequence = (1..16)
buffer = []
count = 0
sequence.each do |e|
buffer << e
if buffer.size >= 4
p buffer
buffer = []
end
end
有没有更好的方法呢?