lua 中 … 在引數列表中意為」可變引數」,這個可變是指,通過這個可以輸入很多引數,但是不需要一一枚舉出來!~
例子:
function a(...)
local a1 ,a2,a3,a4 = ...
print("this is local num=",a1,a2,a3,a4)
return a1, a2, a3, a4
endlocal at1,at2,at3,at4 = a(1,2,3,4)
print("this is the function result=",at1,at2,at3,at4)
輸出:
this is local num=1 2 3 4
this is the function result=1 2 3 4
在函式內通過表訪問可變引數,把可變引數放入表內
function rest(...)
-- 把可變引數放在錶類
local args =
print(#args)
endprint(rest(1, 2, 3))
『#』 操作符表示得到陣列的長度
輸出: 3
放在頂部的可變長引數
在一些lua檔案中可以在頭部看到local a,b = …,這種引數是通過命令列等其他外部環境傳入的引數,如:
-- a.lua檔案
local a, b =...
print(a, b)
輸出:
1 2
在shell或者命令列中呼叫
lua a.lua 1 2
Lua(八)引數的簡化 可變引數(變長引數)
引數的簡化 概念 函式若只有乙個引數,並且此引數是乙個字串或者table構造式,則 實參 圓括號可以省略。function testfunction str print testfunction str endtestfunction aaa testfunction aaa testfunctio...
可變長引數
由於在c語言中沒有函式過載,解決不定數目函式引數問題變得比較麻煩,即使採用c 如果引數個數不能確定,也很難採用函式過載。對這種情況,提出了指標引數來解決問題。如printf 函式,其原型為 int printf const char format,它除了有乙個引數format固定以外,後面跟的引數的...
可變長引數
可變長引數 指的是在呼叫函式時,傳入的引數個數可以不固定 呼叫函式時,傳值的方式無非兩種,一種是位置實參,另一種是關鍵字實參,因此形參也必須得有兩種解決方法,以此來分別接收溢位的位置實參 與關鍵字實參 形參中的會將溢位的位置實參全部接收,然後儲存元組的形式,然後把元組賦值給後的引數。需要注意的是 後...