lua 可變長引數

2021-08-20 13:56:05 字數 859 閱讀 7763

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固定以外,後面跟的引數的...

可變長引數

可變長引數 指的是在呼叫函式時,傳入的引數個數可以不固定 呼叫函式時,傳值的方式無非兩種,一種是位置實參,另一種是關鍵字實參,因此形參也必須得有兩種解決方法,以此來分別接收溢位的位置實參 與關鍵字實參 形參中的會將溢位的位置實參全部接收,然後儲存元組的形式,然後把元組賦值給後的引數。需要注意的是 後...