Menu
CoddyTech

局部变量

本课属于 Coddy Lua 学习旅程的“基础知识”单元。第 84 课,共 90 课。

Lua 提供了 local 关键字,用于创建作用域有限的变量。使用 local 声明变量后,只能在创建该变量的特定代码块中访问它。

下面介绍如何创建局部变量:

local playerHealth = 100
local isGameActive = true

关键区别在于,局部变量的作用范围仅限于它所在的代码块。例如,如果你在 do...end 代码块内创建一个局部变量,就无法在该代码块外访问它:

do
    local secretCode = 1234
    print(secretCode)  -- 这里可以正常输出
end
print(secretCode)  -- 输出 nil:局部变量在这里已不存在

在代码块外,这个名称指向一个从未设置过的全局变量,因此 Lua 会给出 nil,而不是报错。

challenge icon

挑战

简单

创建一个 do...end 块,并在其中声明一个名为 secretMessage 的局部变量,值为 "Hidden data"。在同一个块中,打印 secretMessage 的值。

在 do...end 块结束后,再尝试打印一次 secretMessage。由于局部变量的作用域仅限于其所在的块,因此第二条打印语句会输出 nil,因为在块外无法再访问该变量。

亲手试试

-- TODO:在这里编写你的代码
-- 创建一个 do...end 代码块,并在其中定义局部变量 secretMessage
-- 在代码块内打印 secretMessage
-- 然后尝试在代码块外打印 secretMessage
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Lua 在线编译器