-- Example 26 -- Functions.
-- Define a function without parameters or return value. function myFirstLuaFunction() print("My first lua function was called") end -- Call myFirstLuaFunction. myFirstLuaFunction() -------- Output ------ My first lua function was called
-- Example 27 -- More functions.
-- Define a function with a return value. function mySecondLuaFunction() return "string from my second function" end -- Call function returning a value. a=mySecondLuaFunction("string") print(a) -------- Output ------ string from my second function
-- Example 28 -- More functions.
-- Define function with multiple parameters and multiple return values. function myFirstLuaFunctionWithMultipleReturnValues(a,b,c) return a,b,c,"My first lua function with multiple return values", 1, true end a,b,c,d,e,f = myFirstLuaFunctionWithMultipleReturnValues(1,2,"three") print(a,b,c,d,e,f) -------- Output ------ 1 2 three My first lua function with multiple return values 1 true
-- Example 29 -- Variable scoping and functions.
-- All variables are global in scope by default. b="global" -- To make local variables you must put the keyword 'local' in front. function myfunc() local b=" local variable" a="global variable" print(a,b) end myfunc() print(a,b) -------- Output ------ global variable local variable global variable global
-- Example 30 -- Formatted printing.
-- An implementation of printf. function printf(fmt, ...) io.write(string.format(fmt, ...)) end printf("Hello %s from %s on %s\n", os.getenv"USER" or "there", _VERSION, os.date()) -------- Output ------ Hello there from Lua 5.1 on 04/06/13 16:16:02