首页 > 其他 > 详细

lua迭代

时间:2015-11-02 13:31:57      阅读:180      评论:0      收藏:0      [点我收藏+]

迭代

function enum(array)

    local index = 1

    return function() --返回迭代函数

        local ret = array[index]

        index = index + 1

        return ret

    end

end

function foreach(array, action)

    for element in enum(array) do

        action(element)

    end

end

arr = {1, 2, 3}

foreach(arr, print)

结果是:

1

2

3

 

迭代是for语句的一种特殊形式,for语句可以驱动迭代函数对一个给定集合

进行遍历。正式、完备的语法说明较复杂,请参考Lua手册。

如前面代码所示:enum函数返回一个匿名的迭代函数,for语句每次调用该

迭代函数都得到一个值(通过element变量引用),若该值为nil,则for循

环结束。

lua迭代

原文:http://www.cnblogs.com/wrbxdj/p/4929685.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!