lua 函式的可變引數

2022-09-17 00:03:27 字數 1070 閱讀 6846

主要掌握:

1>虛變數 --- 乙個下劃線

2>lua將函式的可變引數放在乙個叫 arg 的表中,除了引數以外,arg表中還有乙個域n表示引數的個數。

1do2

function

fun(x, y, ...)

3end

45 fun(1)  --

- x = 1, y = nil, arg =

6 fun(1,2)   --

- x = 1, y = 2 , arg =

7 fun(1,2,3,4)   --

- x = 1, y = 2 , arg =

8end

如果乙個函式是多值返回,我們不需要其全部的返回值,只需要其中的部分值,該如何做?

處理方式有一下三種:

1、定義對應數量的變數,一一接收,然後按需所取

2、用虛變數接收無用的返回值,定義新變數來接收所需要的值

3、利用函式的可變引數,定義乙個方法,根據索引取需要的返回值

以下是示例**:

1

do2 tab =

34 fun = unpack; --

返回tab中的所有元素56

--現在我們只需要 fun 的第二個返回值7--

做法有三89

--1、定義對應數量的變數

10 a, b =fun(tab);

11print

(b)12

13--

2、用虛變數

14 _, x =fun(tab);

15print

(x)16

17--

3、利用函式的可變引數,定義乙個方法

18function

select

(n, ...)

19return

arg[n]

20end

21print(select(2

, fun(tab)))

22end

lua 函式的可變引數

lua 函式的可變引數我覺得是蠻好用的,傳入,解包都比較清晰明了 1 遍歷可變引數 local function test local arg for k,v in pairs arg do print k is v endendtest 1,2,33,ab var,eg 執行結果為 可以看到k值是...

LUA教程函式可變引數 18

lua函式可以接受可變數目的引數,和c語言類似在函式引數列表中使用三點 表示函式有可變的引數。lua將函式的引數放在乙個叫arg的表中,除了引數以外,arg表中還有乙個域n表示引數的個數。例如,我們可以重寫print函式 printresult function print for i,v in 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...