06 全域性變數和區域性變數的宣告和使用

2021-09-25 09:19:06 字數 765 閱讀 3534

變數在使用前,必須在**中進行宣告,即建立該變數。

編譯程式執行**之前編譯器需要知道如何給語句變數開闢儲存區,用於儲存變數的值。

lua 變數有三種型別:全域性變數、區域性變數、表中的域。

lua 中的變數全是全域性變數,那怕是語句塊或是函式裡,除非用 local 顯式宣告為區域性變數。

區域性變數的作用域為從宣告位置開始到所在語句塊結束。

變數的預設值均為 nil

a =5

local b=5

function joke()

c=5local d=5

endjoke()

print(c) 5

print(d) nil

lua 可以對多個變數同時賦值,變數列表和值列表的各個元素用逗號分開,賦值語句右邊的值會依次賦給左邊的變數。

a,b,c=1,200,"sss"

print(a)

print(b)

-- lua會優先計算右邊的值

a,b=b,a --交換連兩個值

print(a)

print(b)

1200

2001

0索引

對 table 的索引使用方括號

a={}

a["key"]="222"

print(a.key)

print(a["key"])

222222

全域性變數和區域性變數

全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...

全域性變數和區域性變數

區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...

全域性變數和區域性變數

通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...