Lua是动态类型语言,变量不要类型定义,只须要为变量赋值。数组
在默认状况下,变量老是认为是全局的。数据结构
值能够存储在变量中,做为参数传递或结果返回。
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。app
nil 这个最简单,表示一个无效值(在条件表达式中至关于false)。 nil 还有一个"删除"做用 boolean 包含两个值:false和true。 number 表示双精度类型的实浮点数 string 字符串由一对双引号或单引号来表示 function 由 C 或 Lua 编写的函数 userdata 表示任意存储在变量中的C数据结构 thread 表示执行的独立线路,用于执行协同程序 table Lua 中的表(table)实际上是一个"关联数组"(associative arrays),数组的索引能够是数字或者是字符串。在 Lua 里,table 的建立是经过"构造表达式"来完成,最简单构造表达式是{},用来建立一个空表。
print(type("Hello world")) --> string
boolean 类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看做是"假",其余的都为"真":函数
字符串由一对双引号或单引号来表示。 也能够用 2 个方括号 "[[]]" 来表示"一块"字符串 字符串链接使用的是 .. 使用 # 来计算字符串的长度,放在字符串前面
在 Lua 里表的默认初始索引通常以 1 开始。测试
local tbl = {"apple", "pear", "orange", "grape"} for key, val in pairs(tbl) do print("Key", key) end
table 不会固定长度大小,有新数据添加时 table 长度会自动增加,没初始的 table 都是 nil。code