利用lua中的closure来实现lua迭代器以及用泛型for实现lua的无状态迭代器
来源:互联网
迭代器就是一种遍历集合中所有元素的机制,lua中的迭代器通常使用函数来实现,当我们调用一次迭代器函数的时候,返回集合中的下一个元素,到这里,我们知道,那这个迭代器函数必须保存上一次调用时的一些状态,以便下一次调用,lua中的closure正好符合要求,我们可以把上一次调用的信息保存在closure中,然后就是我们需要一个返回这个迭代器的函数,我们可以把这个函数叫着生成迭代器的工厂函数,按照这个思路我们来完成一个简单的迭代器:迭代器就是一种遍历集合中所有元素的机制,lua中的迭代器通常使用函数来实现,当我们调用一次迭代器函数
你可能喜欢:
已知三点A(Ax,Ay), B(Bx,By), C(Cx,Cy),D点到这三点的距离分别为aL, bL, cL(其中a,b,c已知,L未知),求D点坐标D(Dx