隐式 items/pairs 调用

如果循环表达式 e 不是迭代器并且 for 循环只有一个循环变量,则循环表达式会被重写为 items(e); 即隐式调用 items 迭代器:

  1. for x in [1,2,3]: echo x

如果循环恰好有两个循环变量,则隐式调用 pairs 迭代器。

items/pairs 标识符的符号查找在编译器重写之后执行,所以 items/pairs 的所有重载都能生效。