原文連結:

Introduction To The LUA Metatables: Default Values In The Declaration

這個範例是一個之前範例的小小延伸說明,是關於 Lua語言的 metatables,此範例告訴我們有其他的方法宣告一個metatable,並且展示如何新增一個預設值到 metatable中。

 

之前的範例是展示一個關於如何用使用 a metatable建立一個帶POST參數的 URL, 還沒看過的讀者看以點這裡→ here.

注意: 此範例只適合用Lua script所開發出的 games,並不適合運作在原生底層程式碼中,因為範例所使用的是 LUA 所特有的內容

簡介

我們可以在宣告時加上一個預設值到a metatabl中,
語法如下

local myMetatable = {"value0", 32, hObject}

所有在中掛號 { }內的元素都被視為數值,而且主索引值是自動從零開始,
也就是說,以上面的這個陣列myMetatable[0] 是 “value0″, myMetatable[1] 是 32 and myMetatable[2] 是 hObject

其結果跟下方宣告如下

local myMetatable = {}
myMetatable[0] = "value0"
myMetatable[1] = 32
myMetatable[2] = hObject

範例

底下是一個簡單的函數,就是利用這樣的宣告方式,是不是很簡單啊!

--------------------------------------------------------------------------------
function MyGame.getMonthName ( nMonth )
--------------------------------------------------------------------------------
 
    local month_of_year = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
    return month_of_year[nMonth]
 
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------
arrow
arrow

    Shiva3D 發表在 痞客邦 留言(0) 人氣()