第四章 語句 Lua程序設計筆記
阿新 • • 發佈:2017-11-25
賦值 表達 應該 環境 進行 程序設計 第四章 消失 字型
--第四章 語句
--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 endend print(found)
泛型for
通過一個叠代器函數來遍歷所有的值,如ipairs
for i,v in ipairs(a) do print(v) end
數字型for和泛型for的共同點:
1循環變量是循環體的內部變量
2絕不應該對循環變量做任何賦值
第四章 語句 Lua程序設計筆記