zoukankan      html  css  js  c++  java
  • Lua初学习 9-14_03 迭代器 ( ipairs 与 pairs)

    前言 :所谓迭代器:就是一种可以遍历一种集合中所有元素的机制

            Lua中,通常将迭代器表示为函数,每一次调用函数,即返回集合中下一个元素

    1:ipairs 与 pairs 的区别

    t1 = {"one","two","three","four"}  --数组

    ==== ipairs遍历 =====

    for k,v in ipairs(t1) do

        print(k,v)                    -----> 1 one 2 two 3 three 4 four

    end    

    ==== pairs遍历 ====

    for k,v in pairs(t1) do

        print(k,v)                      -----> 1 one 2 two 3 three 4 four  同上

    end

    ==============接下来用 key value初始化table==========

    t2 = {a = "one" , b = "two" , c = "three" , d = "four"}

    for k,v in ipairs(t2) do

        print(k,v)                     ------>什么都没有

    end

    for k,v in pairs(t2) do

         print(k,v)                    --------->a = one  b = two  c = three  d = four

    end

          可以看出:ipairs无法用于 key value 组成的table ,可以用做数组

                        pairs可以用于table和数组

          

    1:来个简单的迭代器

    function diedai(t)

        local i = 0

        return function () i = i +1 ;return t[i] end

    end

    t = {1,2,3,4,5,6}   --创建一个数组

    iter = diedai(t) --创建一个迭代器

    while true do 

       local e = iter()  --调用迭代器

       if(e==nil) then break end

    print(e)

    end

  • 相关阅读:
    topshelf和quartz
    Dapper的使用
    多快好省的做个app开发
    端口扫描之王——nmap入门精讲(转)
    你对自己的定位是什么,就能成为什么样的人(转)
    2015工作总结及2016展望
    使用php+swoole对client数据实时更新(二) (转)
    解决一bug的流程复盘
    JSONObject与JSONArray的使用
    GDB十分钟教程
  • 原文地址:https://www.cnblogs.com/cocotang/p/5871937.html
Copyright © 2011-2022 走看看