1. 函數的使用
以下程序演示瞭如何在Lua中使用函數, 及局部變量
例e02.lua
運行結果
5
程序說明
在Lua中函數的定義格式爲:
function 函數名(參數)
...
end
與Pascal語言不同, end不需要與begin配對, 只需要在函數結束後打個end就可以了.
本例函數的作用是已知直角三角形直角邊, 求斜邊長度. 參數a,b分別表示直角邊長,
在函數內定義了local形變量用於存儲斜邊的平方. 與C語言相同, 定義在函數內的代
碼不會被直接執行, 只有主程序調用時纔會被執行.
local表示定義一個局部變量, 如果不加local剛表示c2爲一個全局變量, local的作用域
是在最裏層的end和其配對的關鍵字之間, 如if ... end, while ... end等。全局變量的
作用域是整個程序。
2. 循環語句
例e03.lua
運行結果
i is now 1
i is now 2
i is now 3
i is now 4
i is now 5
程序說明
這裏偶們用到了for語句
for 變量 = 參數1, 參數2, 參數3 do
循環體
end
變量將以參數3爲步長, 由參數1變化到參數2
例如:
for i=1,f(x) do print(i) end
for i=10,1,-1 do print(i) end
這裏print("i is now " .. i)中,偶們用到了..,這是用來連接兩個字符串的,
偶在(1)的試試看中提到的,不知道你們答對了沒有。
雖然這裏i是一個整型量,Lua在處理的時候會自動轉成字符串型,不需偶們費心。
3. 條件分支語句
例e04.lua
運行結果
i is now 1
small
i is now 2
medium
i is now 3
medium
i is now 4
big
i is now 5
big
程序說明
if else用法比較簡單, 類似於C語言, 不過此處需要注意的是整個if只需要一個end,
哪怕用了多個elseif, 也是一個end.
例如
4.試試看
Lua中除了for循環以外, 還支持多種循環, 請用while...do和repeat...until改寫本文中的for程序