第3课 - 启航Lua之路
第3课 - 启航Lua之路
1. Lua中的变量
(1)变量:全局变量和局部变量
— Lua中支持全局变量和局部变量的概念
-
-
- 全局变量:直接定义变量名,并复制
-
a = 1; -- 用 ; 结束当前语句(可选)
-
-
- 局部变量:使用 local 关键字进行定义
-
local b = 2
(2)变量的命名规则
— 遵循 C/C++ 语言中的变量命名规则:可以是由任意字母、数字和下划线构成的字符串,但不能以数字开头,且区分大小写。
— 避免定义下划线开头并跟着大写字母的变量名,Lua将这类标识符用作特殊用途
— Lua关键字不能用作变量名
— Lua中的变量是 "动态类型" ,根据变量保存的值确认变量的类型
变量正确的用法:
s = "Lua" -- 定义了一个字符串
i = 1 -- 定义了一个整型变量
_float_ = 0.01 -- 定义了一个浮点数
PI = 3.14 -- 定义了一个浮点数
变量错误的用法:
if = "err" -- 使用了Lua的关键字 if
_Err = 0.1 -- 下划线开头不能跟大写字母
标识符 = 1 -- Lua支持非英文字符变量名,但是依赖于区域设置(Locale),因此不能保证可移植性
_PI_ = 3.14 -- 下划线开头不能跟大写字母
(3)Lua中变量的使用
— 可以在一行定义多个变量,尽量在定义变量时赋值
— 定义变量时不需要声明类型,变量具有动态类型
— 未赋值的变量,其值默认为 nil(空值)
示例:
a = 1 a => 1
b, c = "2" b => "2" c => nil
d = 3, 4 d => 3
(4)变量使用的注意事项
— 局部变量的作用域仅限于块中(if, else, while, do, function)
— 在Lua中尽可能使用局部变量(访问速度更快,和Lua内部对于全局变量的实现原理有关)
— 当不再使用全局变量的时候,用 nil 进行赋值
2. Lua中的程序块
— Lua解释器以程序块的方式处理 Lua代码
— 每一段可执行的Lua代码都可以称为程序块
— 一个程序块由一条或多条 Lua 语句构成
-
-
- 简单的程序块:一条语句
- 复杂的程序块:多条不同语句及函数定义构成
-
3. Lua中的注释
— 单行注释:--
— 多行注释:--[[ ...... ]]
多行注释技巧:
--[[
print("D.T.software");
--]]
1 -- 演示Lua的变量、程序块和注释的用法 2 3 a, b, c = 1, 2, 3; 4 foo = "global"; 5 6 --[[ enable code segment with a '-' 7 do 8 local x, y = a, b; 9 local foo = foo; 10 11 print("foo = ", foo); 12 13 foo = "local"; 14 15 print("foo = ", foo); 16 17 print("a = ", a); 18 print("b = ", b); 19 20 print("x = ", x); 21 print("y = ", y); 22 end 23 24 print("\n"); 25 --]] 26 27 print("a = ", a); 28 print("b = ", b); 29 30 print("x = ", x); 31 print("y = ", y); 32 33 a, b, foo = nil; -- 小技巧,未赋值的为 nil 34
注:本文整理于《狄泰12月提升计划》课程内容