lua 中的元表

a={

age=0,

__tostring=function()

{

},

__call=function()

{

},

}

b={}

a.__index=a{}//将a表中的__index指向自己

setmetatable(a,b)//将b设置为a的元表;

__tostring

当子表a被当做字符串使用时会调用原表b中的__tostring方法,

__call

当子表a被当做字符串使用时会调用原表b中的__call方法

__index

当b.age是会先寻找b表中的age属性,没找到时会在原表中__index指向的表中去寻找

__newindex

b.name a,b表中都没有name属性,执行b.name="123"会在b表中生成属性name="123",如果设置

a.__newindex={} 会把name生成到__newindex指向的表中去

相关推荐
不会代码的小猴15 小时前
4. 控件学习2
开发语言·c++·笔记·qt
smallswan15 小时前
《Rust七十二变》开源了
开发语言·后端·rust·ai编程
闻道且行之16 小时前
图片处理助手|C++ 手搓离线 AI 抠图工具,U2Net 原理到落地一次讲透
开发语言·c++·人工智能·神经网络·opencv·计算机视觉
三言老师16 小时前
K8s集群运行时异常趋势分析预警实操
java·开发语言·kubernetes
秋田君16 小时前
QT_一个UDP通信程序(单播+广播)
开发语言·qt·udp
qq_225891746617 小时前
基于Flask的空气质量监测与预测分析系统
开发语言·后端·python·信息可视化·django·flask
lhldsg17 小时前
社区健身系统开发实战:从需求分析到落地部署全流程指南
java·开发语言·小程序·需求分析
李高钢17 小时前
C# WPF Prism 进阶(三):导航(Navigation)深入
开发语言·c#·wpf
冯汉栩17 小时前
Swift Control DashLineView(虚线)
开发语言·ios·swift
覆东流17 小时前
4.Java运算符与表达式
java·开发语言·后端