lua 中国社区,lua 论坛
Luarocks在构建luafilesystem时出现了错误。
Lua变量是空的,即使已经设置。
如何建立关系
在 Load Impact(压力测试工具)中设置/获取会话变量以执行压力测试。
Gmod - Lua错误-“尝试索引字段'GM'(一个空值)”
无论在任何时间和任何机器上,使用'pairs'迭代“相同”的lua表时,顺序是否固定?
在Lua中构建键值表
Lua文件处理错误:权限被拒绝(Mac OSX Yosemite)
我如何预编译传递给luaL_loadbuffer()的Lua代码?
如何将导出的方法导出,并在Lua中访问导出的方法
如何使用string.find找到一个模式的最后一次出现?
Corona SDK - 电子邮件无法发送。
使用Lua将变量插入MySQL数据库
操作 Lua 表格有麻烦
Corona SDK 的 Facebook API 的 showDialog 属性不工作。
我有Lua扩展,该如何测试它?
使用线程本地存储(Thread Local Store)存储 lua_State。
我可以将 lua_State 存储在共享内存中吗?
Lua 返回错误的值
Lua:如何循环遍历非固定域
简介:
在Lua中,循环遍历一个非固定域(即键名不是数字或者在数组范围内的字符串)是一项重要的任务。本文将介绍如何使用Lua循环遍历一个非固定域。
方法:
1. 使用pairs函数
使用pairs函数可以在遍历非固定域时保留键名以及对应的值。具体用法如下:
```lua
t = {
key1 = "value1",
key2 = "value2",
key3 = "value3",
}
for k,v in pairs(t) do
print(k, v)
end
```
以上例子会打印出:
```
key1 value1
key2 value2
key3 value3
```
2. 使用ipairs函数
使用ipairs函数只能遍历连续数字下标的数组。如果键名不是数字或不是连续数字,则ipairs函数会停止遍历。因此,使用pairs函数遍历非固定域更为常用。
```lua
t = {
"value1",
"value2",
"value3",
}
for i,v in ipairs(t) do
print(i, v)
end
```
以上例子会打印出:
```
1 value1
2 value2
3 value3
```
总结:
使用pairs函数可以遍历非固定域,而ipairs函数只适用于遍历连续数字下标的数组。在实际应用中,建议使用pairs函数。
社区生态
站长微信: 
扫描上方二维码,站长拉你进微信群,备注: lua
qq群: 