Lua学习笔记:壹


Lua 本身是个很简练的语言,作为语言,变量似乎是比不可缺的一员。

Lua 中的变量没有类型,只管赋值即可。比如在 Lua 命令行下输入:

end_of_world = "death"
print(end_of_world)
end_of_world = 2012
print(end_of_world)

上面这四行代码 Lua 不会报错,而会输出:

death
2012

虽说变量没有类型,但并不是说数据不分类型。Lua 基本数据类型共有八个:nilbooleannumberstringfunctionuserdatathreadtable

  • 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

你可能感兴趣的:(Lua学习笔记:壹)