lua中的函式 1

2021-10-24 13:27:54 字數 1593 閱讀 6295

和其他語言一樣,呼叫一般使用括號。

print(8

*9,9

/8)a=math.

sin(3)

+ math.

cos(10)

print

(os.

date()

)

需要注意的一點是:如果函式只有乙個引數,且改引數是字串或者表構造器,括號則可有可無。

print "hello world"

--> print("hello world")

dofile 'a.lua'

-->dofile('a.lua')

print [[a multi-line message]]

-->print([[a multi-line message]])

f-->f()

type

-->type({})

冒號運算子

o:

foo(x)

--類似於o.f(o,x),將o作為第乙個額外的引數。

呼叫引數數目

由於lua對函式引數數目進行了調整,因此可以輸入的引數數目能夠與函式定義的引數數目不同,多餘的引數值將被丟棄,而未被賦值的引數將得到nil。

function

f(a,b)

return a or b end

-call parameters -f

(3) a=

3,b=

nil-f(

3,4) a=

3,b=4-

f(3,

4,5) a=

3,b=4(

5被丟棄)

在函式中返回多個值。

function

maximum

(a)local mi =

1---maximum index

local m = a[mi]

--maximum value

for i, val in

ipairs

(a)do

if val > m then

mi = i

m = val

endendreturn m, mi

end

呼叫不同數目的引數

使用unpack

f = string.find

a =f

(unpack

(a))

--- string.find("hello", "ll")

使用遞迴實現的unpack()

function

unpack

(t,i)

i = i or

1if t[i]

~=nil

then

return t[i]

,unpack

(t, i+1)

endend

lua中的函式

在lua中,定義函式的形式是 function func a,b func是函式名,在裡面寫關於函式的實現,a,b是函式的引數 end 將函式和table結合起來對於在不同的情況下使用不同的函式,是有很大的幫助的 例如 寫乙個加減乘除的東西 local l func local num l func...

lua中的require函式

lua提供高階的require函式來載入執行庫,lua中的require函式功能主要有 1 require函式會搜尋目錄載入檔案 2 require會判斷是否檔案已經載入避免重複載入同一檔案。由於上述特徵,require在lua中是載入庫的更好的函式。require使用的路徑和普通我們看到的路徑還有...

lua中的全域性函式

內部全域性函式 內部全域性函式會以最後一次呼叫的外部引數為其引數 function a test par function b print test par endlocal public function public.test b end return public enda1 a 1 a2 a...