How to use function with variadic arguments in Lua

2 Answers

0 votes
function average(...)
   result = 0
   local arg = {...}
   for i, n in ipairs(arg) do
      result = result + n
   end
   return result/#arg
end

print(average(3, 7, 8, 2, 6, 9))





--[[
run:
  
5.8333333333333
 
--]]

 



answered Sep 25, 2020 by avibootz
edited Sep 25, 2020 by avibootz
0 votes
function f(...)
   local arg = {...}
   for i, n in ipairs(arg) do
      print(i, n)
   end
end

f(43, 67, 98, 12, 46, 90)





--[[
run:
  
1	43
2	67
3	98
4	12
5	46
6	90
 
--]]

 



answered Sep 25, 2020 by avibootz
edited Sep 25, 2020 by avibootz

Related questions

1 answer 180 views
180 views asked Sep 25, 2020 by avibootz
1 answer 170 views
1 answer 178 views
178 views asked Sep 24, 2020 by avibootz
1 answer 90 views
90 views asked Dec 21, 2022 by avibootz
1 answer 165 views
...