和其他語言一樣,呼叫一般使用括號。
需要注意的一點是:如果函式只有乙個引數,且改引數是字串或者表構造器,括號則可有可無。print(8
*9,9
/8)a=math.
sin(3)
+ math.
cos(10)
(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
使用遞迴實現的unpack()f = string.find
a =f
(unpack
(a))
--- string.find("hello", "ll")
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...