函式 (Functions)
有時候你需要在程式中重複執行一段程式碼。函式 (Function) 可以幫助你將這段程式碼模組化,減少重複的工作。
函式以 function 關鍵字為開頭,然後是函式的名字,接著在括號內定義該函式的參數。函式可以被宣告為區域或是全域,但就像之前所提的,盡可能地宣告為區域變數。
function addNumbers( number1, number2) --Global function
  local result = number1 + number2
  return result
end
local function subtractNumbers( number1, number2) --Local function
local result = number1 - number2
  return result9
end
在 Lua 中,函式可以回傳不只一個值:
local function divideWholeNumbers( number1, number2 )
    local result = math.floor( number1 / number2 )
    local remainder = number1 % number2
    return result, remainder
end
print( divideWholeNumbers( 10, 7 ) )
輸出:
1   3
Lua 也支援匿名函式,對於定義暫時性用途的函式非常有幫助,像是將函式當成參數傳遞,或是你 希望在定義前就使用它:
local appendString
local function mergeStrings( first, second )
  return appendString( first, second, " " )
end
appendString = function( sourceString, additionalString, delimiter )
  local delim = delimiter
  if delim == nil then
    delim = " "
  end
  return sourceString .. delim .. additionalString
end
-- or a temporary function:
timer.performWithDelay( 1000, function()
 appendString( "hello", "world");)
end )