标签: lua 协程

  • Lua协程实现Fibonacci算法

    image

    费波拉且数的算法如图所示:

    image

    所以a和b分别保存了前两次的结果,每次for循环调用generator都从yield这一行代码恢复然后进行a, b = b, a+b操作。然后判断a是否小于等于n决定返回结果。

    如果不用coroutine.wrap,我们可以这样写,效果是一样的,代码稍显啰嗦:

    image