Lua 程式設計中數量可變的引數
Lua 中有一些函式接受數量可變的引數。在我們需要使用許多不同引數(長度可能不同)執行相同函式的情況下,它們非常有用。因此,我們不必建立不同的函式,而是將它們以可變引數的方式傳遞給函式。
語法
function add(...) -- function code end
請注意,引數列表中的三個點 (...) 表示函式具有數量可變的引數。每當呼叫此函式時,其所有引數都會收集到單個表中,函式以一個名為 arg 的隱藏引數的形式引用該表。
示例
現在,我們來看一個將數量可變的引數傳遞給函式的示例。該函式將用於計算傳遞給它作為引數的陣列中存在最小值。另外,它將用於找到最小值的索引,並且我們將列印最小值和最小索引。
function minimumvalue (...)
local mi = 1 -- maximum index
local m = 100 -- maximum value
local args = {...}
for i,val in ipairs(args) do
if val < m then
mi = i
m = val
end
end
return m, mi
end
print(minimumvalue(8,10,23,12,5))輸出
5 5
請注意,我們現在可以利用這樣一個事實,即我們可以在同一個函式中擁有數量可變的引數,因此,當我們再次呼叫同一個函式時,我們將獲得最小值和最小索引。
示例
function minimumvalue (...)
local mi = 1 -- maximum index
local m = 100 -- maximum value
local args = {...}
for i,val in ipairs(args) do
if val < m then
mi = i
m = val
end
end
return m, mi
end
print(minimumvalue(8,10,23,12,5))
print(minimumvalue(1,2,3))輸出
5 5 1 1
[廣告]
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP