一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Lua编程示例(一):select、debug、可变参数、table操作、error实用指南

时间:2026-09-03 15:50:01 编辑:袖梨 来源:一聚教程网

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“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++互相调用实例分析

热门栏目