記錄:lua提供的跳出關鍵字:break 和 return,lua不提供continue.
語句break用於跳出迴圈,終止for、repeat、while 三種迴圈的執行,並跳出當前迴圈體,繼續執行當前迴圈之後的語句,在迴圈外部不可用。例:
--[ 定義變數 --]
a = 10
--[ while 迴圈 --]
while( a < 20 )
do print("a 的值為:", a)
a=a+1
if( a > 15)
then
--[ 使用 break 語句終止迴圈 --]
break
endend
1,return 只能寫在語句塊的最後,一旦執行了return 語句,該語句之後的所有語句都不會再執行。若要寫在函式中間,則只能寫在乙個顯式的語句塊內。
local function (x, y)
return x + y
--因為前面有個return,若不注釋該語句,則會報錯
endlocal function is_positive(x)
if x > 0 then
return x .. " is positive"
else
return x .. " is non-positive"
end--由於return只出現在前面顯式的語句塊,所以此語句不注釋也不會報錯
--,但是不會被執行,此處不會產生輸出
print("function end!")
endsum = add(10, 20)
print("the sum is " .. sum) -->output:the sum is 30
answer = is_positive(-10)
print(answer) -->output:-10 is non-positive
即:return可分別放在elseif, else, end前面,即拐點 結束前;在迴圈中使用則放在迴圈結束前.
2,若想在某個函式的中間提前 return ,可以將 return 放在乙個 do … end **塊中:
local function foo()
print("before")
do return end
print("after") -- 這一行語句永遠不會執行到
end
注意:上述例項中return如果不放在do … end中將會報錯,因為return只能放在函式的最後。 AJPFX辨析continue與break的區別
1.break 1 結束當前整個迴圈,執行當前迴圈下邊的語句。忽略迴圈體中任何其它語句和迴圈條件測試。2 只能跳出一層迴圈,如果你的迴圈是巢狀迴圈,那麼你需要按照你巢狀的層次,逐步使用break來跳出。逐層判斷,逐步跳出 3 break在迴圈體內,強行結束迴圈的執行,也就是結束整個迴圈過程,不再判斷...
lua 詭異 的return用法
在lua中,return的用法比較 詭異 為什麼這麼說呢,因為它只能用在block結束的地方,不能用在block的乙個中間部分.例如 function a i 1 return i 這裡會報錯,提示return後面必須是end,意思是既然你要return了,那麼就結束這個塊吧.i 2 end 例如 ...
lua 詭異 的return用法
德哥摘要 在lua中,return的用法比較 詭異 為什麼這麼說呢,因為它只能用在block結束的地方,不能用在block的乙個中間部分.例如function a i 1 return i 這裡會報錯,提示return後面必須是end,意思是既然你要return了,那麼就結束這個塊吧.在lua中,r...