Lua编程示例(一):select、debug、可变参数、table操作、error实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Lua编程示例(一):select、debug、可变参数、table操作……”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
function test_print(...)
for i=1,select("#",...) do
print(i,select(i,...))
end
end
test_print(11,12,13,14)
print()
print(debug.traceback())
print()
function test(...)
for i=1,arg.n do
print(i.."t"..arg[i])
end
end
test("a",2,34,234)
print()
g={}
table.insert(g,{
name="Clairs",
level = 70,
})
table.insert(g,{
name="SEGA",
level = 35,
})
table.insert(g,{
name="Millber",
level = 50,
})
function myprint()
for i,v in ipairs(g) do
print(i,v["level"],v.name)
end
end
myprint()
function comp(a,b)
return a.level<b.level
end
table.sort(g,comp)
print()
myprint()
print()
function foo(str)
if type(str) ~= "string" then
error("string error!",2)
end
end
--foo({x =1 })
tb1={ "asdf","bate","game",one="heihei"}
table.insert(tb1,3,"haha")
table.remove(tb1,2)
for i,v in ipairs(tb1) do
print(v)
end
print(#tb1)
运行结果为:
1 11 12 13 14
2 12 13 14
3 13 14
4 14
stack traceback:
my_test.lua:12: in main chunk
[C]: ?
1 a
2 2
3 34
4 234
1 70 Clairs
2 35 SEGA
3 50 Millber
1 35 SEGA
2 50 Millber
3 70 Clairs
asdf
haha
game
3
您可能感兴趣的文章:
- C语言与Lua之间的相互调用详解
- C++借助LuaIntf调用Lua的方法示例
- 轻松谈谈lua和c的交互
- Lua调用自定义C模块
- Lua编程示例(六): C语言调用Lua函数
- Lua编程示例(五): C语言对Lua表的读取和添加
- Lua中调用C++函数示例
- C++中调用Lua设置文件和响应函数示例
- 采用Lua来扩展C++程序的方法
- Lua和C/C++互相调用实例分析
相关资讯
-
10.18
vue3中的事件修饰符完整指南
-
10.17
Codex CLI 登录失败排查流程:从命令状态、浏览器回调到脱敏支持记录实用指南
-
10.17
Redis基础篇之特性、使用场景与配置指南实用指南
-
10.17
WSL2+Docker+Ollama本地部署大模型思路和实践指南(Qwen1.8b)实用指南
-
10.17
Codex手写自动重试工具:解决capacity与overloaded报错的实用方案实用指南
-
10.17
DeepSeek Harness热门插件盘点:10个实用插件,覆盖多Agent、上下文和多模态实用指南
游戏推荐
推荐专题
热门阅读
推荐下载
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏