第一版是针对 Lua 5.0 编写的。虽然在很大程度上仍然适用于后续版本,但也存在一些差异。
第四版针对 Lua 5.3,可在 Amazon 和其他书店购买。
购买本书,您还将帮助 支持 Lua 项目。
用 Lua 编程 | ||
第一部分。语言 第 2 章。类型和值 |
Lua 是一种动态类型语言。该语言中没有类型定义;每个值都带有自己的类型。
Lua 中有八种基本类型:nil、boolean、number、string、userdata、function、thread 和 table。type
函数给出给定值的类型名称
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无论
X
的值是什么,最后一个示例都将生成 "string"
,因为 type
的结果始终是一个字符串。
变量没有预定义的类型;任何变量都可以包含任何类型的值
print(type(a)) --> nil (`a' is not initialized) a = 10 print(type(a)) --> number a = "a string!!" print(type(a)) --> string a = print -- yes, this is valid! a(type(a)) --> function注意最后两行:函数是 Lua 中的一等值;因此,我们可以像处理任何其他值一样处理它们。(有关更多信息,请参见 第 6 章。)
通常,当您对不同类型使用单个变量时,结果是混乱的代码。但是,有时明智地使用此功能会有所帮助,例如在使用 nil 区分正常返回值和异常条件时。
版权所有 © 2003–2004 Roberto Ierusalimschy。保留所有权利。 |