var变量
--> 变量
print(var) -- nil(nil是未指定类型的意思,与c#中的var一样)
全局变量
-- gVar = 0 -- 全局变量 (g是global的缩写)
--> lua中是没有数据类型的
var = 0
print(type(var)) -- number
var1 = 0.2
print(type(var1)) -- number
-- --> 在lua 中number相当于c#中的值类型(int float double)
-- --> 默认number就是double
lua中几种类型
var3 = false
print(type(var3)) -- boolean
var4 = "lua"
print(type(var4)) -- string
var5 = function ()
print("lua")
end
print(type(var5)) -- function
var6 = {}
print(type(var6)) -- table
演示局部变量和全局变量
-- gVar = 0 全局变量
-- local x = 1 局部变量
-- --> 演示局部变量和全局变量
do
c = 5 -- 全局变量
local c2 = 1 -- 局部变量
print(c,c2) -- 输出 5 1
end
print(c,c2) -- 输出 5 nil
--> lua可以对多个变量同时赋值。变量列表和值列表各个元素之间用逗号(,)隔开,赋值语句会依次赋值给左边
x,y,z = 1,2,3
变量赋值和lua中的换值
--> 练习1: 交换两个变量的值
x,y = 1,2
x,y = y,x
print(x,y)
--> 如果变量列表少于值列表
x,y = 1,2,3
print(x,y) -- 1,2
x,y,z = 1,2
print(x,y,z) -- 1,2,nil
运算符
--> 运算符 + - * / % ^
a = 10
s = "10"
print(a + s) -- 20 number + string = number
print(a^2) -- 100
--> 关系运算符 > >= < <= == ~=
a = 10
b = 20
print('a大于b为真吗:', a > b) -- false
-->逻辑运算符 and(&&) or(|) not(!)
-->连接运算符 ..(+)
a = 10
b = "10"
print(a..b) -- 1010
--> 运算符优先级
-- ^
-- not -
-- * /
-- + -
-- ..
-- > >= < <= == ~=
-- and
-- or
--> 除了平方和..所有的运算符都是从左开始的
a = 10
b = "10a"
print(a..b) -- 1010a
-- e = a + b * c / d -- =>(b * c) / d + a
-- e = a^b^c -- => a^(b ^ c)