当前位置: 首页 > 编程笔记 >

实例讲解Lua中pair和ipair的区别

高英彦
2023-03-14
本文向大家介绍实例讲解Lua中pair和ipair的区别,包括了实例讲解Lua中pair和ipair的区别的使用技巧和注意事项,需要的朋友参考一下

采用pair:


function print_contents(params)  

    for k, v in pairs(params) do  

        print(k, "  ", v)  

    end  

end  

  

print_contents({20, 40, 50})  

采用inpari:


local tt =    

{    

    [1] = "test3",    

    [4] = "test4",    

    [5] = "test5"    

}    

  

  

for i,v in ipairs(tt) do    -- 输出 "test3" k=2时断开  ,因为数组的下表没有连续,i是从下表1开始,刚好三个元素,导致i = 3的时候已经输出完毕  

    print( tt[i] )    

end   

 

下面在才用ipair,数组连续的情况下,全部输出:

function print_inpaircontents(params)  

    for k, v in ipairs(params) do  

        print(v)  

    end  

end  

  

local temp_table = {  

    [1] = "test3",    

    [2] = "test4",    

    [3] = "test5"   

}  

  

print_inpaircontents(temp_table)  

pairs()可以遍历整个table,即包括数组及非数组部分。
ipairs()函数用于遍历table中的数组部分。

 类似资料:
  • 本文向大家介绍实例讲解jquery中mouseleave和mouseout的区别,包括了实例讲解jquery中mouseleave和mouseout的区别的使用技巧和注意事项,需要的朋友参考一下 本文详细的介绍了关于jQuery中mouseleave和mouseout的区别,分享给大家供大家参考,具体内容如下 很多人在使用jQuery实现鼠标悬停效果时,一般都会用到mouseover和mouseo

  • 本文向大家介绍Lua的函数环境、包实例讲解,包括了Lua的函数环境、包实例讲解的使用技巧和注意事项,需要的朋友参考一下 定义:函数环境就是函数在执行时所见的全局变量的集合,以一个表来承载。 说明:每个函数都可以有自己的环境,可以通过setfenv来显示的指定一个函数的环境。如果不显示的指定,函数的环境缺省为定义该函数的函数的环境。在前面的代码中,函数foo的缺省环境里没有定义变量g,因此第一次执行

  • 本文向大家介绍实例讲解v-if和v-show的区别,包括了实例讲解v-if和v-show的区别的使用技巧和注意事项,需要的朋友参考一下 代码: 没点击前的图 点击后的图 显示来看v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;而v-show 不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。 一般来说, v-if 有

  • 一、什么是区间DP? 顾名思义:区间DP就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的最优解进而得出整个大区间上最优解的DP算法。 二、核心思路 既然让我求解在一个区间上的最优解,那么我把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。所以在代码实现上,可以枚举区间长度len为每次分割成的小区间长度(由短到长不断合并),内层枚举该长度下可以

  • 本文向大家介绍js中实例与对象的区别讲解,包括了js中实例与对象的区别讲解的使用技巧和注意事项,需要的朋友参考一下 关于js中实例和对象的解释如下: 比如定义persion如下: JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例.。当然在js中, 一切都是对象。 第二个采用对象字面量的方式生成的person也是如此。

  • 本文向大家介绍举例讲解Lua中的Table数据结构,包括了举例讲解Lua中的Table数据结构的使用技巧和注意事项,需要的朋友参考一下 文中-- 两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]]。    

  • 本文向大家介绍Python中extend和append的区别讲解,包括了Python中extend和append的区别讲解的使用技巧和注意事项,需要的朋友参考一下 append() 方法向列表的尾部添加一个新的元素。只接受一个参数。 extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。也是只接受一个参数。 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的

  • 本文向大家介绍Python中logging实例讲解,包括了Python中logging实例讲解的使用技巧和注意事项,需要的朋友参考一下 logging 的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的方法:定义一个 logging 基类,所有需要用到日志的类都继承这个基