![]() |
1
0
试图回答我自己的问题: 当调用返回枚举器时,将调用rb_Enumeratorize,这将创建一个枚举器。返回枚举器;在枚举器上调用:Next时,将初始化(如有必要)或恢复光纤。每次调用:next时,fiber迭代一次内部提供的块,以获取下一个迭代器项(在枚举器的C结构中设置no_next,并在枚举器的fiber上调用rb_fiber_yield)。 因此,循环活动似乎不必在返回枚举器之前发生。我还不清楚在没有提供块的情况下返回枚举器的函数中枚举后的操作。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 4 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |