lua筆記二 賦值語句

2021-09-06 13:53:44 字數 952 閱讀 8609

賦值是改變乙個變數的值和改變表域的最基本的方法。

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歐元呢?遇到這種問題的時候,我們就需要找到乙個規律,然...