新聞中心
1. 函數(shù)的使用

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、三水網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為三水等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
以下程序演示了如何在Lua中使用函數(shù), 及局部變量
例e02.lua
- -- functions
- function pythagorean(a, b)
- local c2 = a^2 + b^2
- return sqrt(c2)
- end
- print(pythagorean(3,4))
運(yùn)行結(jié)果
5
程序說明
在Lua中函數(shù)的定義格式為:
function 函數(shù)名(參數(shù))
...
end
與Pascal語言不同, end不需要與begin配對(duì), 只需要在函數(shù)結(jié)束后打個(gè)end就可以了.
本例函數(shù)的作用是已知直角三角形直角邊, 求斜邊長(zhǎng)度. 參數(shù)a,b分別表示直角邊長(zhǎng),
在函數(shù)內(nèi)定義了local形變量用于存儲(chǔ)斜邊的平方. 與C語言相同, 定義在函數(shù)內(nèi)的代
碼不會(huì)被直接執(zhí)行, 只有主程序調(diào)用時(shí)才會(huì)被執(zhí)行.
local表示定義一個(gè)局部變量, 如果不加local剛表示c2為一個(gè)全局變量, local的作用域
是在最里層的end和其配對(duì)的關(guān)鍵字之間, 如if ... end, while ... end等。全局變量的
作用域是整個(gè)程序。
2. 循環(huán)語句
例e03.lua
- -- Loops
- for i=1,5 do
- print("i is now " .. i)
- end
運(yùn)行結(jié)果
i is now 1
i is now 2
i is now 3
i is now 4
i is now 5
程序說明
這里偶們用到了for語句
for 變量 = 參數(shù)1, 參數(shù)2, 參數(shù)3 do
循環(huán)體
end
變量將以參數(shù)3為步長(zhǎng), 由參數(shù)1變化到參數(shù)2
例如:
for i=1,f(x) do print(i) end
for i=10,1,-1 do print(i) end
這里print("i is now " .. i)中,偶們用到了..,這是用來連接兩個(gè)字符串的,
偶在(1)的試試看中提到的,不知道你們答對(duì)了沒有。
雖然這里i是一個(gè)整型量,Lua在處理的時(shí)候會(huì)自動(dòng)轉(zhuǎn)成字符串型,不需偶們費(fèi)心。
3. 條件分支語句
例e04.lua
- -- Loops and conditionals
- for i=1,5 do
- print(“i is now “ .. i)
- if i < 2 then
- print(“small”)
- elseif i < 4 then
- print(“medium”)
- else
- print(“big”)
- end
- end
運(yùn)行結(jié)果
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用法比較簡(jiǎn)單, 類似于C語言, 不過此處需要注意的是整個(gè)if只需要一個(gè)end,
哪怕用了多個(gè)elseif, 也是一個(gè)end.
例如
- if op == "+" then
- r = a + b
- elseif op == "-" then
- r = a - b
- elseif op == "*" then
- r = a*b
- elseif op == "/" then
- r = a/b
- else
- error("invalid operation")
- end
4.試試看
Lua中除了for循環(huán)以外, 還支持多種循環(huán), 請(qǐng)用while...do和repeat...until改寫本文中的for程序
原文鏈接:http://tech.it168.com/j/2008-02-14/200802141336501.shtml
分享名稱:通過例子學(xué)習(xí)Lua(2)—Lua流程控制
文章路徑:http://www.dlmjj.cn/article/cdpepci.html


咨詢
建站咨詢
