在Ruby中,每个_片是如何工作的?

在Ruby中,每个_片是如何工作的?,ruby,data-structures,ienumerable,irb,Ruby,Data Structures,Ienumerable,Irb,有人能用例子解释一下这个可枚举项是如何工作的吗? 数据结构方面。 循环中的p是什么 (1..10).每个|片(3){| a | pa} [1, 2, 3] [4, 5, 6] [7, 8, 9] [10] Enumerable#当使用块({…})调用时,每个_片(n)都会获取序列的n元素块,并将它们作为数组传递给块 该块是一个匿名函数,|a是参数列表。因此,a成为每次调用的块 p是一个内置函

有人能用例子解释一下这个可枚举项是如何工作的吗? 数据结构方面。 循环中的
p
是什么

(1..10).每个|片(3){| a | pa}

             [1, 2, 3]
             [4, 5, 6]
             [7, 8, 9]
             [10]
Enumerable#当使用块(
{…}
)调用时,每个_片(n)
都会获取序列的
n
元素块,并将它们作为数组传递给块

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

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

总之,您看到的是打印的三个元素的块/片(加上最后一个不完整的)


显然,您已经找到了。

首先,
p
只是内置的Ruby方法的名称,大致相当于
put对象。inspect
。该方法是。内核模块还提供了方法
put
print
putc
printf
,等等。正如@Linuxios(为什么我总是想在's'之前加一个'u')所说,还有。@CarySwoveland:谢谢链接。我很久以前就不再尝试输入用户名了。。。