lua语言基础
发布时间:2020-12-14 22:07:54 所属栏目:大数据 来源:网络整理
导读:只是记录一些基础,或者说需要注意的地方 or 和 C++?不一样的地方 -- 行注释--[[块注释]] -- 1、 lua 打印函数print("测试打印");-- 2、 lua 变量nNumA = 100;--全局变量local nNumB = 100;--局部变量-- 3、 lua 函数--全局函数function logHello()--codepri
只是记录一些基础,或者说需要注意的地方 or 和 C++?不一样的地方 -- 行注释 --[[ 块注释 ]] -- 1、 lua 打印函数 print("测试打印"); -- 2、 lua 变量 nNumA = 100;--全局变量 local nNumB = 100;--局部变量 -- 3、 lua 函数 --全局函数 function logHello() --code print("Hello"); end --局部函数 local function logHello2() print("Hello2"); end --多重返回值 -- return n,m; --变长参数 接收不同数量的参数 用3个点表示 function addNum(...) local s = 0; for key,var in ipairs(...) do s = s+var; end print(s); end --函数调用 logHello(); logHello2(); -- 4、 字符串拼接(连接) 用 .. print("字符串" .. "拼接"); -- 5、关系操作符 不等号是 ~= -- 6、逻辑操作符 and or not -- and:如果第一个操作数位假,就返回第一个操作数,不然返回第二个操作数 例如:print(4 and 5); -- or:如果第一个操作数位真,就返回第一个操作数,不然返回第二个操作数 例如:print( 4 or 5); -- 7、控制语句 --if if 5>4 then print(5); end --if else if 5>4 then print(5); else print(4); end --if elseif else if 5>4 then print(54); elseif 5>3 then print(53); else print(33); end --while local a=3; while a>0 do print(a); a = a-1; end --repeat-until local b = 3; repeat print(b); b = b-1; until b<0 --for --初始值 条件 步长(即 i 每次的增加量)步长没写的话 默认1 for i=0,3,1 do print(i); end -- 遍历 local tableA = {}; for key,var in ipairs(tableA) do print(var); end local tableB = {}; for key,var in pairs(tableB) do print(var); end --数组 local arrayA = {}; arrayA[1] = 22; arrayA[2] = 23; --lua遵循以1作为数组的起始索引 长度符#依赖于这个事实来计算数组的大小 for var=1,#arrayA do print(arrayA[var]); end --数学库math math.abs(x);--取绝对值 math.floor(x);--不大于x的最大整数 math.max(2.71,100,-98,23);--取得参数中最大值 math.min(2.71,23);--取得参数中最小值 --在使用math.random函数之前必须使用此函数设置随机数种子 math.randomseed(os.time()); math.random(1,100);--获取1-100的随机数 math.random(100); --table库 --指定位置插入元素. pos参数可选,默认为数组末尾. table.insert(table,pos,value); --删除并返回位于pos位置的元素,默认最后一个元素 table.remove(table,pos); --连接 从i到j 元素间以指定的分隔符(sep)隔开 默认为空字符 table.concat(table,sep,i,j); --返回指定table中所有正数key值中最大的key值,如果不存在key值为正数的元素,则返回0 table.maxn(table); --对给定的table进行升序排序, comp是一个可选的参数,此参数是一个外部函数,table.sort(table,comp); --string库 string.len("abcd"); --4 string.rep("abcd",2); --abcdabcd string.lower("AbcD"); --abcd string.upper("AbcD"); --ABCD string.format("the value is:%d",4); --the value is:4 string.sub("abcd",2); --bcd string.sub("abcd",-2); --cd string.sub("abcd",2,-2); --bc string.sub("abcd",3); --bc string.find("cdcdcdcd","ab"); --nil string.find("cdcdcdcd","cd"); --1 2 string.find("cdcdcdcd","cd",7); --7 8 string.gsub("abcdabcd","a","z"); --zbcdzbcd 2 string.gsub("aaaa","z",3); --zzza 3 string.byte("ABCD",4); --68 string.char(97,98,99,100); --abcd (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |