溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Lua中使用函數(shù)

發(fā)布時(shí)間:2021-11-17 16:23:17 來源:億速云 閱讀:121 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何在Lua中使用函數(shù)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

1. 函數(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

“如何在Lua中使用函數(shù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

lua
AI