主要掌握:
1>虛變數 --- 乙個下劃線
2>lua將函式的可變引數放在乙個叫 arg 的表中,除了引數以外,arg表中還有乙個域n表示引數的個數。
1do2function
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、利用函式的可變引數,定義乙個方法,根據索引取需要的返回值
以下是示例**:
1do2 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...