eg1:
print("Hello World")--输出函数
Hello World --[[ lua语句是解释语言,边编译边执行,每句不用分号结束。]]
eg2:
--变量有值的时候才有类型,否则变量本身是无类型的
a=1;
b="abc"
c={}
d=print;
print(type(a))
print(type(b))
print(type(c))
print(type(d))
--输出
number
string
table
function
eg3:
--可以一次对多个变量赋值,规则:如果等号(“=”)右边多了,则舍弃,左边多了,则赋值为空(nil)
1
2
3
|
a,b,c,d,e = 1, 2, "three" , "four" , 5
print(a,b,c,d,e)
|
-- 输出
1 2 three four 5
-- 表达式 a,b=b,a表示a和b的值交换,注:类型不一样照样可以交换eg4:
-- string and a number). – 在Lua中两点“..”表示字符串连接,对应其他语言中的“+”连接
1
2
|
a,b,c,d,e = 1, 1.123, 1E9, -123, .0008
print( "a=" ..a, "b=" ..b, "c=" ..c, "d=" ..d, "e=" ..e)
|
--输出
a=1 b=1.123 c=1000000000 d=-123 e=0.0008
-- Lua中表结构和JS中的对象一样可以随时增加或删除(直接赋值nil)属性。
--[[ 读取有多种方式,可以用点“.”的方式,也可以用索引index,不过在Lua有点特殊,首先索引是从一开始,其次index=1并不一定是第一个元素值,比如下面的address[1]=nil,而不是“Wyman Street”,具体的以后在讲]]
1
2
3
4
5
6
7
8
9
|
address={} -- empty address
address.Street= "Wyman Street"
address.StreetNumber=360
address.AptNumber= "2a"
address.City= "Watertown"
address.State= "Vermont"
address.Country= "USA"
print(address.StreetNumber, address[ "AptNumber" ])
|
--输出
360 2a
eg6:if else 语句
-- Lua中的语句块语法有点类似VB都是以end结束
1
2
3
4
5
6
|
a=1
if a==1 then --注: if 和elseif后面都一样需要条件+then
print ( "a is one" )
else
print( "a is't one" )
end
|
--输出
a is one
eg7: while语句和repeat until语句
-repeat until 类似于C++里面的for循环
1
2
3
4
5
6
7
8
9
10
|
a=1
while a~=5 do -- Lua uses ~= to mean not equal
a=a+1
io.write(a.. " " )
end
a=0
repeat
a=a+1
print(a)
until a==5
|