Returning multiple results

  • Functions can return multiple results

function multipleResults (list of parameters) code goes here ... return variable1 variable2 variable3 end

  • The returned results are adjusted to match the call

-- set up some local variables local i = 5 local j = 4 local k = 8 -- the example function function example1(a, b, c) local var1 = a + 5 local var2 = b + 1 local var3 = c + 10 return var1, var2, var3 end -- call the function and return one value local result1 = example1(i, j, k) print ("result1 is " .. result1) -- call the function and return three values local result2, result3, result4 = example1(i,j,k) print ("result2 is " .. result2) print ("result3 is " .. result3) print ("result4 is " .. result4) result1, result2, result3, result4 = 21,22, example1(i, j, k) print ("* result1 is " .. result1) print ("* result2 is " .. result2) print ("* result3 is " .. result3) print ("* result4 is " .. result4) result1, result2, result3, result4 = example1(i, j, k), 21,22 print ("- result1 is " .. result1) print ("- result2 is " .. result2) print ("- result3 is " .. result3) print (result4) -- returns a nil value