# 4 Lua 變量
變量在使用前,必須在代碼中進行聲明,即創建該變量。
編譯程序執行代碼之前編譯器需要知道如何給語句變量開辟存儲區,用于存儲變量的值。
### Lua 變量有三種類型:全局變量、局部變量、表中的域。
> ### **Lua 中的變量全是全局變量,那怕是語句塊或是函數里,除非用 local 顯示聲明為局部變量。**
###
局部變量的作用域為從聲明位置開始到所在語句塊結束。
變量的默認值均為 nil。
```lua
-- test.lua 文件腳本
a = 5 -- 全局變量
local b = 5 -- 局部變量
function joke()
c = 5 -- 全局變量
local d = 6 -- 局部變量
end
joke()
print(c,d) --> 5 nil
do
local a = 6 -- 局部變量
b = 6 -- 全局變量
print(a,b); --> 6 6
end
print(a,b) --> 5 6
```
執行以上實例輸出結果為:
```lua
$ lua test.lua
5 nil
6 6
5 6
```
---
- 1 Lua介紹及環境
- 2 基本語法
- 3 數據類型
- 4 Lua 變量
- 5 循環
- 6 流程控制
- 7 函數
- 8 運算符
- 9 字符串
- 10 數組
- 11 迭代器
- 12 table
- 13 Lua 模塊與包
- 14 Lua 元表(Metatable)
- 14.1 元表案例
- 15 Lua 協同程序(coroutine)
- 16 Lua 文件IO
- 17 Lua 面向對象
- 17.1 類
- 17.2 繼承
- 17.3 封裝
- 18 Lua 與 Mysql
- 19 Lua 與 redis
- 20 Lua 與 JSON
- 21 Lua 與 http
- 22 Lua 與 Nginx
- 22.1 Nginx_Lua的安裝及環境
- 22.2 ngx_lua API(全表)
- 22.3 常用命令介紹
- 22 Lua 人工智能
- (1) Torch的安裝
- (2)Tensor
- Lua與C混合編程