lua迭代

时间:2015-11-02 13:31:57   收藏:0   阅读:178

迭代

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循

环结束。

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

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!