在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
-- test.lua function fact(n) if n==0 then return 1; else return n*fact(n-1); end end
print("Hello, World!"); a=io.read("*number"); print(fact(a));
lua -i –l a –e "x=10"
lua –e "sin=math.sin" script a b arg[1]=="a" arg[2]=="b"
8种基础类型:nil、boolean、number、string、userdata、function、thread、table。 判断类型名称使用type,返回的是字符串
空
a="one aa"; b=string.gsub(a,"one","two"); print(a) --输出one aa print(b)--输出two aa
page=[[ <html> … </html> ]]
page=[===[ <html> [[…]] </html> ]===]
local szDigital = "123456"; local nResult = szDigital + 333; -- 结果是 nResult 是 123789
local nItemType = 123; local szItemType = "aa" .. nItemType; -- 结果是 szItemType 是 "aa123"
获得字符串长度# local a="hello"; print(#a); -->5
table没有大小,可以任意地添加。 1、数组定义: local array = { 1, 2, 3, 4 }; local array2 = { { 1, 2, 3 }, { 2, 3, 4 } }; 2、数组使用: a = array[1]; b = array2[1][3]; 3、注意:数组的下标是1基的。也就是array是从1~4。 4、local size = table.getn(array) --这样可以取到表的长度为4(需要lua_tablibopen库支持) 5、数组元素的最后一个值后面,可以多加一个逗号(,)。例如:local array = { 1, 2, 3, 4, }; local a={}; a["10"]=10; a[10]="abc"; a["abc10"]=a["10"]..a[10];
local b=a; print(b["10"]); à10 a=nil; print(b["10"]); à10 b=nil;
local a={}; a["aa"]=10; print(a.aa); à10
b="bb"; a[b]=20; print(a[b]); à20 print(a.b);ànil print(a.bb);à20 注意:lua将nil作为数组结尾,所以应避免使用#。如果真的要使用含有nil的数组,可以使用table.maxn() a={}; a[100]=1; print(table.maxn(a)); à100 print(#a); à0
注意:内部变量必须用"local "来限定,否则会被LUA当成"全局变量"。
if (条件) then 语句1; 语句2; end
if (条件) then 语句1; 语句2; else 语句3; end
if (条件) then 语句1; 语句2; elseif (条件) then 语句3; end
if (a > b and c < d) then -- && ! if (a <= b or c >= d) then if (not (a == a)) then if (a ~= b) then -- 不等于 注意:除"nil"与bool类型的"false"以外, 一切数字与字符串(包括0与空串)都是true。 如果想判断一个值是不是C++意义上的TRUE,可写成: if (a ~= 0) then
1、普通for循环 for i=1,10 do print(i) end 2、递减的for循环 for i=10,1,-1 do print(i) end 3、注意:for语句中的 i 是local型的局部变量,仅在"for循环内部"有效。 ! 注意:在循环中不要去修改控制变量 i 。 ! 注意:如果在条件部分(for和do之间)有函数调用,这些函数只会调用一次。
local i = 1 while a[i] do if a[i] == v then break end i = i + 1 end |
请发表评论