引數的簡化概念:函式若只有乙個引數,並且此引數是乙個字串或者table構造式,則(實參)圓括號可以省略。
function testfunction(str)
print("testfunction"..str)
endtestfunction("aaa")
testfunction "aaa"
--->
testfunctionaaa
testfunctionaaa
function arrayshow(arr)
for i,v in pairs(arr) do
print(v)
endendarr =
arrayshow(arr)
print("------")
arrayshow
--->01
23------01
23
可變引數(變長引數)
function show(...)
for i,v in pairs() do
print(v)
endendshow("a","b","c")
--->ab
c
function show(...)
print("引數個數:"..#arg)
for i,v in pairs(arg) do
print(v)
endendshow("a","b","c")
--->
引數個數:3ab
c3function show(...)
print("引數個數:"..#arg)
for i,v in ipairs(arg) do
print(v)
endendshow("a","b","c")
--->
引數個數:3ab
c
function show(...)
print("引數個數:"..#arg)
for i,v in ipairs(arg) do
print(v)
endendshow("a","b",nil,"c")
--->
引數個數:4ab
function show(...)
print("引數個數:"..#arg)
for i,v in pairs(arg) do
print(v)
endendshow("a","b",nil,"c")
--->
引數個數:4ab
c4function show(...)
print("引數個數:"..select('#',...))
local num
for i = 1,select('#',...) do
num = select(i,...)
print(num)
endendshow("a","b",nil,"c")
--->
引數個數:4ab
nilc
select('#',...)表示可變引數的長度。
select(i,...)表示從索引數值到可變引數長度值的所有內容。
lua 可變長引數
lua 中 在引數列表中意為 可變引數 這個可變是指,通過這個可以輸入很多引數,但是不需要一一枚舉出來!例子 function a local a1 a2,a3,a4 print this is local num a1,a2,a3,a4 return a1,a2,a3,a4 endlocal at...
可變長引數
由於在c語言中沒有函式過載,解決不定數目函式引數問題變得比較麻煩,即使採用c 如果引數個數不能確定,也很難採用函式過載。對這種情況,提出了指標引數來解決問題。如printf 函式,其原型為 int printf const char format,它除了有乙個引數format固定以外,後面跟的引數的...
可變長引數
可變長引數 指的是在呼叫函式時,傳入的引數個數可以不固定 呼叫函式時,傳值的方式無非兩種,一種是位置實參,另一種是關鍵字實參,因此形參也必須得有兩種解決方法,以此來分別接收溢位的位置實參 與關鍵字實參 形參中的會將溢位的位置實參全部接收,然後儲存元組的形式,然後把元組賦值給後的引數。需要注意的是 後...