Lua函数中的变长参数

http://www.cnblogs.com/stephen-liu74/archive/2012/03/21/2410300.html

方式一:f

function add(...)
  local s=0

--~   for i,v in ipairs{...} do
 for i=1,select("#",...) do
  local arg=select(i,...)
 s=s+arg
  end
   return s

end

print(add(2,5,4,5))
方式二

function add(...)
  local s=0

 for i,v in ipairs{...} do
 s=s+v

  end
   return s

end

print(add(2,5,4,5))

看看下面这个:

function maximum(a)
    local mi = 1
    local m = a[mi]

    for i, val in ipairs(a) do
        if val > m then
            mi,m = i,val
        end
    end
    return m,mi
end

print(maximum{8,10,23,12,5}
)


 

 

你可能感兴趣的:(Lua函数中的变长参数)