1. 程式人生 > >第四章 語句 Lua程序設計筆記

第四章 語句 Lua程序設計筆記

賦值 表達 應該 環境 進行 程序設計 第四章 消失 字型

--第四章 語句
--4.1 賦值
Lua支持多重賦值,先對等號右邊所有元素求值,然後進行賦值。這可以用來交換變量
x, y = y, x

若值的個數少於變量的個數,則多余的變量會被賦值為nil。
若值的個數多余變量的個數,則多余的值會被丟棄。

--4.2局部變量與塊block
局部變量的作用域僅限於聲明它們的那個塊。
一個快可以是一個執行體、一個函數或者一個chunk

盡可能使用局部變量:
1避免搞亂全局環境
2訪問局部變量更快
3局部變量隨其作用域結束而消失,GC可以釋放其值。

local foo = foo
這裏創建了一個局部變量,並用全局變量foo的值來初始化它。這種方式可以加速在當前作用局中對foo的訪問。

--4.3控制結構
for有兩種形式,數字型for和泛型for

數字型for

for var = exp1, exp2, exp3 do
    <body>
end

var從exp1變化到exp2,步長為exp3。exp3為可選,若不指定,則默認為1
註意:
1三個表達式在for開始前一次性求值。
2控制變量會被自動聲明為local。
若要在循環結束後訪問控制變量的值,需要將其保存到另一個變量中

local found = nil
for i = 1,#a do
    if a[i] < 0 then
        found = i
        break
    end
end print(found)


泛型for
通過一個叠代器函數來遍歷所有的值,如ipairs

for i,v in ipairs(a) do
    print(v)
end


數字型for和泛型for的共同點:
1循環變量是循環體的內部變量
2絕不應該對循環變量做任何賦值

第四章 語句 Lua程序設計筆記