目录
nil | 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 |
---|---|
boolean | 包含两个值:false和true。 |
number | 表示双精度类型的实浮点数 |
string | 字符串由一对双引号或单引号来表示 |
function | 由 C 或 Lua 编写的函数 |
userdata | 表示任意存储在变量中的C数据结构 |
thread | 表示执行的独立线路,用于执行协同程序 |
table | Lua 中的表(table)其实是一个”关联数组”(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过”构造表达式”来完成,最简单构造表达式是{},用来创建一个空表。 |
if b == 0 then
xxxx
else
xxxx
end
&& = and
|| = or
! = not
1、字符串形式
string = "xxxxx"
string = [[ xxxx
xxxxx
xxxxx
]]
2、对于字符串进行数学运算时会尝试把字符串类型转换为数字类型
> print("2" + 6)
8.0
> print("2" + "6")
8.0
> print("2 + 6")
2 + 6
> print("-2e2" * "6")
-1200.0
3、使用 # 来计算字符串的长度
> len = "www.runoob.com"
> print(#len)
14
> print(#"www.runoob.com")
14
1、创建表
local tbl2 = {"apple", "pear", "orange", "grape"}
2、table是关联数组(下标从1开始),table长度可随时根据增加内容变化,索引建立:
a = {}
a["key"] = "value"
key = 10
a[key] = 22
a[key] = a[key] + 11
for k, v in pairs(a) do
print(k .. " : " .. v)
end
结果:
key : value
10 : 33
function factorial1(n)
if n == 0 then
return 1
else
return n * factorial1(n - 1)
end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))