賦值是改變乙個變數的值和改變表域的最基本的方法。
a = "hello" .. "world"
t.n = t.n + 1
lua可以對多個變數同時賦值,變數列表和值列表的各個元素用逗號分開,賦值語句右邊的值會依次賦給左邊的變數。
a, b = 10, 2*x <--> a=10; b=2*x
遇到賦值語句lua會先計算右邊所有的值然後再執行賦值操作,所以我們可以這樣進行交換變數的值:
x, y = y, x -- swap 'x' for 'y'
a[i], a[j] = a[j], a[i] -- swap 'a[i]' for 'a[i]'
當變數個數和值的個數不一致時,lua會一直以變數個數為基礎採取以下策略:
a. 變數個數 > 值的個數 按變數個數補足nil
b. 變數個數 < 值的個數 多餘的值會被忽略
例如:a, b, c = 0, 1
print(a,b,c) --> 0 1 nil
a, b = a+1, b+1, b+2 -- value of b+2 is ignored
print(a,b) --> 1 2
a, b, c = 0
print(a,b,c) --> 0 nil nil
上面最後乙個例子是乙個常見的錯誤情況,注意:如果要對多個變數賦值必須依次對每個變數賦值。
a, b, c = 0, 0, 0
print(a,b,c) --> 0 0 0
多值賦值經常用來交換變數,或將函式呼叫返回給變數:
a, b = f()
f()返回兩個值,第乙個賦給a,第二個賦給b。
Lua 學習筆記(二) 語句
lua 中的語句支援賦值,控制結構,函式呼叫,還有變數宣告。不允許空的語句段,因此 是非法的。chunck 應該是表示語句組後面 是可選項。block chunck stat do block end可以將乙個語句塊顯式地寫成語句組,可以用於控制區域性變數的作用範圍。lua 支援多重賦值。多重賦值時...
Lua 學習筆記(五) 語句
一 賦值 多重賦值 每個值或每個變數之間以逗號分隔 例如 a,b 10,20 lua先對等號右邊的所有元素求值,然後才執行賦值。二 區域性變數和塊 local建立區域性變數,作用域僅限於宣告它們的程式塊。三 控制結構 1.if then else end 例如 2.for 數值型for for va...
Lua 學習筆記(二)
這一章我們介紹一下lua中函式的宣告,其實函式這東西我們每個人都接觸過,就像我們初中高中學的一次函式 二次函式是一樣的。舉個簡單的例子吧,目前歐元匯率和人民幣匯率的比例是1歐元換7.2人民幣,那我們手裡有100歐元能換多少人民幣呢?如果是1000歐元呢?遇到這種問題的時候,我們就需要找到乙個規律,然...