真假
a = true
b = false
print(type(a))
print(type(b))
print("大于、小于、等于、不等于")
print(1>2)
print(3<1)
print(3>=1)
print(3<=1)
print(1==2)
-- 不等于
print(1~=2)
print("这个是and not or")
-- and not or
print(a and b)
print(a or b)
-- not 类似与非
print(not b)
-- 在lua里面,只有false和nil代表假,其余的代表真
-- 通过and、or、not返回的不一定是true或false,还有可能是其他的,如下
-- 只有not返回的是纯粹的true和false
a1 = nil --假
b1 = 0 --真
-- and not or
print(a1 and b1)
print(a1 or b1)
-- not 类似与非
print(not b1)
-- 运用上面的特征,可以通过and和or实现短路求值,如下
print("实现短路求值")
print(b1 > 10 and "yes" or "no")
分支判断
-- 在lua里面0代表真
if 1>23 then
print("1>23")
else
print("no")
end
print("######")
if 1>23 then
print("1>23")
elseif 1<23 then
print(1<23)
else
print("no")
end
print("######")
if 0 then
print("o代表真")
end
循环
在lua里面一共有三种循环,for循环、while循环、repeat循环
while循环和repeat循环基本上都是一样的
for循环
for i=1,10 do
print(i)
end
print("###########")
-- 10后面的参数叫做步长
for i=1,10,2 do
print(i)
end
print("###########")
-- 步长也可以是负数,并且for循环里面的i是不能更改的
for i=10,1,-5 do
print(i)
i=1
if i == 6 then break end
end
print("###########")
while循环
local n = 10
-- lua里面不支持自减(--)操作
while n > 1 do
print(n)
n = n - 1
if n==5 then break end
end
字符串补充
-- string.char()函数可以将ascii码转换成字符串
s = string.char(0x30,0x31,0x32,0x33)
print(s)
-- string.byte()可以直接取出字符串的某一位
a = string.byte(s,2)
print(a)