2013年9月23日月曜日

lua setmetatable

luaでsetmetatableを使えばいろいろ出来そうなので、いろいろためしてみましたが、有効と思われるものは殆ど有りませんでした。(もう少し調査必要)
元々の言語仕様が限定されているので仕方ないかも知れませんが。。
範囲外のキーを呼び出した場合の処理は次の様な感じで書けます。
local data=10
local test={test1 = function() return data * 10 end,test2 = "data2"}
setmetatable(test,{__index = function() return "設定していないkey" end})
print(test.test3)    --"設定していないkey"
マニュアルを読むと__index以外にも設定出来る項目いろいろ有りました。

0 件のコメント:

コメントを投稿