each_slice如何在Ruby中工作?

时间:2014-04-14 22:11:04

标签: ruby data-structures ienumerable irb

有人可以解释这个可枚举的例子吗? 数据结构明智。 循环中的p是什么?

(1..10).each_slice(3) {|a| p a}

             [1, 2, 3]
             [4, 5, 6]
             [7, 8, 9]
             [10]

1 个答案:

答案 0 :(得分:2)

使用块(Enumerable#each_slice(n))调用

{ ... }时,会获取该系列的n元素块,并将它们作为数组传递给块。

该块是一个匿名函数,| a |是参数列表。因此,a成为每次调用时的块。

p是一个内置函数,可将其参数(a)的表示输出到stdout

总而言之,您正在看到正在打印的三个元素(加上不完整的最后一个元素)的块/切片。

显然,您已经找到了Ruby documentation