变量声明
在Lua里面,声明的变量默认是全局变量
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,不管是在语句块或是函数里,当用 local可以声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil。
a = 1 --全局变量
b = 2 -- 全局变量
local c = 3 --局部变量
function add()
d = 6 --全局变量
local f = 7 -- 局部变量
end
print(a)
print(b)
print(f)
g,h = 1,3 --多重赋值
print(g,h)
a,b,c = 2,4
print(a,b,c)
数据类型
Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table
print(type("Hello world")) --> string
print(type(10.4*3)) --> number
print(type(print)) --> function
print(type(type)) --> function
print(type(true)) --> boolean
print(type(nil)) --> nil
print(type(type(X))) --> string
number 数值型
在c语言里面,数字分为多个类型,在lua里面都是叫做number类型
Lua支持十六进制表示方法(0x开头),支持科学计数法
a = 0x11
b = 2e10
print(a,b)
nil
nil 类型表示一种没有任何有效值,它只有一个值 – nil,例如打印一个没有赋值的变量,便会输出一个 nil 值
String字符串
字符串由一对双引号或单引号来表示,也可以用 2 个方括号 “[[]]” 来表示"一块"字符串。
字符串拼接(…)
str1 = "dddds"
str2 = 'dddsa'
str3 = [[jKhkjash]]
str4 = str1..str2 --字符串连接符
print(str1,str2,str3,str4)
字符串长度(#str)
a = "dasdfas"
print(#a)
string和number类型的互相转换
a = tonumber("sdajih") --如果转换失败就会成为nil
a1 = tonumber("12")
a2 = tostring(19)
print(type(a),type(a1),type(a2))