Lua 学习笔记:壹
分类:技术
Lua 本身是个很简练的语言,作为语言,变量似乎是比不可缺的一员。
Lua 中的变量没有类型,只管赋值即可。比如在 Lua 命令行下输入:
end_of_world = "death"
print(end_of_world)
end_of_world = 2012
print(end_of_world)
上面这四行代码 Lua 不会报错,而会输出:
death
2012
虽说变量没有类型,但并不是说数据不分类型。Lua 基本数据类型共有八个:nil
、boolean
、number
、string
、function
、userdata
、thread
、table
。
nil
就是 C/C++ 中的NULL
,表示没有有效值。所有未定义的变量都是nil
。- Number 即实数,Lua 中的所有数都用双精度浮点数表示。
- Table 是很强大的数据结构,也是 Lua 中唯一的数据结构。可以看作是数组或者字典。
- Function / Userdata / Thread 目前还不是很了解 =。=
可以用 type
函数取得表达式的数据类型:
print(type(undefined_var))
print(type(true))
print(type(3.14))
print(type('Hello World'))
print(type(type))
print(type({}))
Lua 各种操作符和其它语言都是差不多的,只是有几个特殊的比较不一样,比如:
a ~= b
即a
不等于b
a ^ b
即a
的b
次方a .. b
将a
和b
作为字符串连接
逻辑运算符直接就是英语的 and
or
not
三个单词。
另外 Lua 还支持多重赋值。也就是说:等号右边的值依次赋值给等号左边的变量。比如:
year, month, date = 2011, 3, 12
print(year, month, date)
于是,交换两个变量值的操作也变得非常简单:
a, b = b, a
最后,变量有局部和全局之分。加 local
修饰符的都是局部变量,否则就是全局变量。
p.s. 要从 Lua 命令行中退出,可以输入 os.exit()
或者直接 Ctrl-C
。