lua --- __newindex 的使用规则
发布时间:2020-12-14 21:50:17 所属栏目:大数据 来源:网络整理
导读:1、如果 __newindex 是一个函数,在给 table 不存在的字段赋值的时候,会调用这个函数 2.如果 __newindex 是一个table,在给 table 不存在的字段赋值的时候,会直接给 __newindex 的 table 赋值 测试用例: 1 local Song = {name = " 南山南 " }; 2 3 local m
1、如果 __newindex 是一个函数,在给 table 不存在的字段赋值的时候,会调用这个函数 测试用例: 1 local Song = {name = "南山南"}; 2 3 local mt = 4 { 5 __index = Song, 6 __newindex = function(table,key,val) 7 print(key .. "是一个不存在的字段,不能对其赋值!"); 8 end 9 }; 10 11 local animal = {} 12 setmetatable(animal,mt); 13 print(animal.name); 14 animal.name = "cat"; 15 16 local tmp = {}; 17 18 local mt1 = 19 { 20 __index = Song; 21 __newindex = tmp; 22 }; 23 local animal1 = {}; 24 setmetatable(animal1,mt1); 25 print(tmp.cat); 26 animal1.cat = "Cat"; 27 print(tmp.cat); 编译结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |