1. lua在线运行环境
除了在本地安装lua外,还可以在一些在线的运行环境中运行lua,这对于测试实验性的代码会比较方便,以下是我自己常用的lua在线运行环境:
Lua Online Compiler & Interpreter
2. 算术运算符和逻辑运算符
算术运算符很多和C语言很像但是部分运算符还存在一些差异。
a. 没有++和--,!=用~=表示,
b. ^表示幂运算
a=0
a=a+1 --a++ 会报错
print("a="..tostring(a)) --a=1
print("a==1 = "..tostring(a==1)) --a==1 = true
print("\"1\"~=1 = "..tostring("1"~=1)) --"1"~=1 = true
print("2^3 = "..tostring(2^3)) -- 2^3 = 8.0
print("b==nil = "..tostring(b==nil)) --b==nil = true
lua中的逻辑运算符和python的很像,也是and, or, not
lua的if 语句后面的then ... end,then ... else,else ... end前后两个关键字作用和C语言if后跟的大括号相同。
if true then
print("this is a if statement")
end
if (ture and false) then
print("the condition (ture and false) is true")
else
print("the condition (ture and false) is false")
end
if (ture or false) then
print("the condition (ture or false) is true")
else
print("the condition (ture or false) is false")
end
if not(true) then
print("the condition not(true) is true")
else
print("the condition not(true) is false")
end
--this is a if statement
--the condition (ture and false) is false
--the condition (ture or false) is false
--the condition not(true) is false
3. 流程控制语句while和for的用法
while的用法
i=1
while (i<=10) do
print("i="..tostring(i))
i=i+1
end
--[[ 输出如下:
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
i=10
]]
对于实现像C语言中遍历从m到n的数字
for(int i=m;i<n;i++)
{
...
}
lua中可以用下面的语句实现
for 变量名=初始值, 结束值 (,步长) do
...
end
for i=1, 5 do --步长默认是1
print("i = "..tostring(i))
end
--[[
i = 1
i = 2
i = 3
i = 4
i = 5
]]
for i=1, 10, 2 do
print("i = "..tostring(i))
end
--[[
i = 1
i = 3
i = 5
i = 7
i = 9
]]
除了上述用法以外,for 语句它还常和表一起使用,lua中表的用法非常丰富和灵活,这里只介绍将表做为数组的用法。
table1={11,22,33, "44", "35"} --表可以容纳各种不同的数据类型
for k,v in ipairs(table1) do
print(tostring(k).."->"..tostring(v))
end
--[[
1->11
2->22
3->33
4->44
5->35
]]