http://luabinaries.sourceforge.net/ 下载lua最新版本
解压到任意目录,在当前目录下创建test.lua脚本
lua中的注释 -- 单行注释 --[[多行注释]]
多变量赋值 a,b=1,3
lua中的变量无需定义类型.例如 a=123 b="hello world" c=true print(a,b,c) 在一行内打印
lua中的数组和集合都属于table类型
从下标1开始,而且不需要预定义长度 例如
数组 a={1,2,3,4,5} print(a[1],a[2],a[3])
集合map a={}
a["hello"]=2
a[5]=false
print(a.hello,a[5])
函数支持多返回值(和scala一样)
function sub(a,b)
return a+b,a-b
end
逻辑表达式 true = not false
字符串拼接 print("hello".."world") 用 ..进行拼接
local a = 1 local代表局部变量.此变量只在方法内有效,并且用local有利于性能优化,在编译期就会执行计算
逻辑表达
if function() then
print("1")
elseif function() then
print("2")
else
print("3")
end
while循环
local i =0
while i<10 do
print(i) i=i+1
end
for循环 1表示起始值,10表示最终值,2表示每次加2.不写默认加1
for i=1,10,2 do
print(i)
end
泛型遍历 pairs迭代器,每次迭代出来的顺序都是变化的 ipairs迭代器,只能迭代出table中的数组
a={["hello"]=1,[100]=true}
for k.v in pairs(a) do
print(k,v)
end
如何加载其他的lua脚本 require 只调用一次 dofile加载多次并执行,这些相当于java中的import
local Mx = require("脚本名称") Mx.add(1,2)
内置函数库 table
遍历table可以看到很多函数 insert,remove.......
计算长度,用# 只能得出字符串或者数组的长度,对集合没办法计算\
判断对象类型 print(type(a)). 能得出对象是什么类型 string table number boolean...
字符串与数字转换 tonumber() tostring()