lua 基础语法
来源:互联网 发布:中印陆军对比知乎 编辑:程序博客网 时间:2024/06/03 17:33
--[[print("Hello wc hahaha");a = 10; --全局变量local b = tostring(a..2); --局部变量dofile("test.lua");print(type(b));local c = nil;local d = "wwe" .. "dad"print(string.sub(d, 2, 3)) --获取子串 lua从1开始取的 所以取出的 ‘we’local html=[<html></html>]local e, f = string.find(html,"html");print("e="..e .."f=".. f); --查找第一个字符串的起始位置if(1 == 1 and 1 == 3) then --if基本条件语句 or或者 and并且 elseif 后面跟thenprint("1 == 1");elseif(2==2) thenprint("2==2");elseprint("1 != 3");endlocal i =100 --while语法 循环while(not(i < 0)) doprint("i =".. i);i = i - 1end]]--[[local k = 100 --相当于do..while方法repeatk = k + 1print("k=" .. k)until k > 100for list = 1,10 do --for数值遍历print("list="..list)endlocal vec={"mon", "sun", "tus", "fird"} --数组下标从1开始for i, v in pairs(vec) do --泛型遍历 pairsprint(i.. ":" .. v)endlocal suzhu={[1]="a", [2]="b", [4]="d"} --数组 for i, v in ipairs(suzhu) do --泛型遍历 ipairs标准的数组从1,2,3...print(i.. "-:-" .. v)endlocal tab1 = {'001', "002", "003"}for i, v in ipairs(tab1) doprint(i.."=".. v)endprint("=======insert========")table.insert(tab1, 3, "002_2") --从第三个位置插入 原先的值往后面移for i, v in ipairs(tab1) doprint(i.."=".. v)endprint("=======insert back========")table.insert(tab1, "004") --默认插入到表的末尾处for i, v in ipairs(tab1) doprint(i.."=".. v)endprint("=======remove ========")table.remove(tab1) --默认移除表的末尾处的值for i, v in ipairs(tab1) doprint(i.."=".. v)end--]]--[[local tab2 = {id=123, age=20} --哈希表带有键值和keytab2["name"] = "xiaoming"tab2["id"] = nil --此处如果将id的键值赋值为nil 则将该值删除了for i, v in pairs(tab2) doprint(i.."=".. v)endlocal tab3 = {} --二维表tab3[1]={"tom", "rose"}tab3[2]={"val1", "val2"}for i, v in pairs(tab3) do --多维遍历表的操作for i2, v2 in ipairs(v) doprint(i..":-" .. i2.. "=" .. v2)endendfunction test(p1,...) --函数local len = table.getn(arg) --可以知道传参数print("arg len is ".. len)print(p1)if(p1 == nil) thenprint("p1 == nil")else print("p1 != nil")endprint("void test function")return 2, "tom" --函数可以返回多值 endprint(test(222, 002, "a")) --可以接多个值local fun1 = testprint("*********************")print(fun1(222, 002, "a")) --可以将函数传给变量样赋值给另外一个变量local fun2 = function(p1)print("fun2" .. p1)endfun2("key")function fun2(...)print("test nil")endfun2("123") --函数重载 后面定义相同的函数会将前面同名的函数给屏蔽掉(弊端无法知道调用那个函数)print("--lua调用c--lua调用c++ 结合部分----------------") --c++ 向lua堆栈写东西 通过lua堆栈 lua通过lua全局标量获取返回lua堆栈再到c++--]]--lua传递数字给c++--cGivelua("wangcheng", 22, 1) --lua传递一个字符串参数给c++ lua ture 为0 lua 除了 false 和 nil 之外都是true--local arr={"a001", "a002", "a003"}--cTestArr(arr) --lua传递数组给c++调用--[[local tab = {name = "xiaoming", age= "22", id="23143"}cTestTable(tab, 123)print("&&&&&&&\n")local a, b = cTestRe()print("a = "..a.."b="..b)--]]--for key, value in pairs(cTestRe()) do --print(key.."="..value.."\n")--endwidth = 1280print("ID:"..TOM)config ={testtile = "wc",height =1080}for key, value in pairs(person) doprint(key.."="..value)endfunction errfun()print("lua is error")endfunction event(p1, p2) --c++调用lua的函数 c++传参给luaprint("c++ call lua function "..p1.."==")for key, value in pairs(p2) doprint(key.."->"..value)endlocal re={id=234}return re--lua传回返回值给c++调用end
阅读全文
0 0
- lua脚本基础语法
- Lua基础语法-1
- lua 基础语法
- Lua基础语法
- Lua基础之语法
- Lua脚本语法基础
- lua基础语法
- lua基础语法2
- Lua 语法基础
- lua基础语法
- lua基础语法2
- lua基础语法
- Lua基础语法
- 【Lua】 基础语法总结
- LUA 基础语法相关
- lua 基础语法
- lua 基础语法(一)
- Lua脚本之基础语法
- Ubuntu Core 16 —— 安全白皮书(上)
- 二叉树-1
- 创行调查问卷
- C/C++——学习资料(更新........)
- 感想篇:6.3)3d打印与可视化交流技术
- lua 基础语法
- 每天一道LeetCode-----顺时针旋转n×n矩阵90度
- Rstudio-处理缺失值的方法
- c++调用lua,lua调用c++
- Codejam之Bathroom Stalls
- 更改ssh服务远程登录配置
- STARKs, Part I: 多项式证明
- mybatis-plugins mybatis-tools
- JDK容器学习之TreeMap (二) : 使用说明