发布于 2015-07-26 14:39:29 | 318 次阅读 | 评论: 0 | 来源: 网络整理
Lua是动态类型语言,所以变量没有类型,仅值有类型。值可以被存储在变量中,作为参数传递,并作为结果返回。
在Lua中虽然我们没有变量的数据类型,但我们有类型的值。用于数值数据类型的列表在下面给出。
值类型 | 描述 |
---|---|
nil | 用于区分具有一些数据或没有(nil)数据的值。 |
boolean | 包括true和false值。一般用于条件检查。 |
number | 表示真实(双精度浮点数)的数字。 |
string | 表示字符数组。 |
function | 表示是用C或Lua语言的方法。 |
userdata | 表示任意C数据。 |
thread | 独立的执行线程,它是用来实现协程。 |
table | 代表普通数组,符号表,集合,记录,图,树等,并实现关联数组。它可以容纳任何值(除了nil)。 |
在Lua中有一个叫做函数类型,使我们能够知道变量的类型。如下一些例子给出了下面的代码。
print(type("What is my type")) --> string
t=10
print(type(5.8*t)) --> number
print(type(true)) --> boolean
print(type(print)) --> function
print(type(type)) --> function
print(type(nil)) --> nil
print(type(type(ABC))) --> string
当建立并执行上面的程序,它在Linux下面会产生结果:
string
number
function
function
boolean
nil
string
默认情况下,所有的变量将指向nil ,直到他们被分配一个值或初始化。在Lua中,0和空字符串被认为是true,条件检查也是如此。因此,必须使用布尔操作时要小心。我们在下面的章节了解更多并使用这些类型。