一 关键字 __index(当调用原表中不存在的索引的时候,会调用__index对应的方法或者元表) |
|
|
|
--元表 metatable
myTabel={'Lua','Java','C#','C++'}--普通表
mymetatable={
__index=function (tab,key)--元表对应的普通表,key访问的索引
--当普通表的索引不存在的时候,会调用——index对应的方法
print('这个索引不存在:'..key)
return 'C'
end
}
myTabel=setmetatable(myTabel,mymetatable)--设置这个表的元表
print(myTabel[0])--访问不存在的索引
__newindex 关键字(当往元表中添加新的键值对的时候,会调用对应的方法) |
|
|
|
--元表 metatable
myTabel={'Lua','Java','C#','C++'}
mymetatable={
--_newindex新添加一个键值对的时候,会调用
__newindex=function (tab,key,value)
print('__newindex:'..tostring(key)..' '..tostring(val