Lua中的协同程序之resume-yield间的数据返回研究
resume函数除了第一个参数是协同程序外,还能继续传其他参数,如下代码:resume第二个参数为“resume parame”,这个参数将会传递给协同程序的函数。一个代表协同程序是否正确执行,一个代表错误信息。然后,这里还有一个规则,那就是yield函数的参数可以传递到resume的第二个返回值里。没关系喇,更混乱的情况还会接着发生的,呵呵。我在协同程序函数的最后加了一个返回值,仅仅是一个字符串。而resume的调用我增加到了3次,这是因为协同程序的for循环会执行两次,也就是会调用yield两次。所以,需要第三次执行resume函数时,第二次yield才能得到返回。好了,这就是我今天不小心扫了几眼后,就不得不仔细研究的地方了。
下载地址
用户评论