函式 (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 )

results matching ""

    No results matching ""