Lua
语言是一种动态类型语言(Dynamically-type language),在这种语言中没有类型定义,每个值都带有其自身的类型信息。
Lua
语言中有8种基本类型: nil
(空)、 boolean
(布尔)、 number
(数值)、 string
(字符串)、 userdata
(用户数据)、 function
(函数)、 thread
(线程)和 table
(表)。
使用函数 type
可获取一个值对应的类型名称。如下所示:
> type(nil) --> nil > type(true) --> boolean > type(10.4 * 3) --> number > type("hello world") --> string > type(io.stdin) --> userdata > type(print) --> function > type(type) --> thread > type({}) --> table > type(type(X)) --> string
[!tip|label: 对于
type(type(X))
的说明] 不管X
是什么,最后一行返回的永远是"string"
。这是因为函数type
的返回值永远是一个字符串。