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之路_局部变量

3. Lua中的注释

— 单行注释:–

— 多行注释:–[[ … ]]

多行注释技巧:

–[[

print(“D.T.software”);

–]]

-- 演示Lua的变量、程序块和注释的用法

a, b, c = 1, 2, 3;
foo = "global";

--[[ enable code segment with a '-'
do
local x, y = a, b;
local foo = foo;

print("foo = ", foo);

foo = "local";

print("foo = ", foo);

print("a = ", a);
print("b = ", b);

print("x = ", x);
print("y = ", y);
end

print("\n");
--]]

print("a = ", a);
print("b = ", b);

print("x = ", x);
print("y = ", y);

a, b, foo = nil; -- 小技巧,未赋值的为 nil