当前位置: 首页 > news >正文

【Lua】元表常用属性

__index

触发条件:访问不存在的字段
参数:(table,key)
返回值:返回替代值
使用场景:实现默认值、继承、代理

__newindex

触发条件:设置不存在的字段

参数:(table,key,value)

返回值:无(抛错)

使用场景:拦截写操作、实现只读

__add

触发条件:实现自定义表的相加

参数:(a,b)

返回值:任意结果

使用场景:自定义表相加

__sub

触发条件:使用 -

参数:(a,b)

返回值:任意结果

使用说明:自定义表

__mul

触发条件:使用 *

参数:(a,b)

返回值:任意结果

使用说明:自定义表

__div

触发条件:使用 /

参数:(a,b)

返回值:任意结果

使用说明:自定义表

__mod

触发条件:使用 %

参数:(a,b)

返回值:任意结果

使用说明:自定义取模

__pow

触发条件:使用 ^

参数:(a,b)

返回值:任意结果

使用说明自定义运算

__unm

触发条件:使用负号行为例如-a

参数:(a)

返回值:任意结果

使用说明自定义负号行为

__concat

触发条件:使用..拼接

参数:(a,b)

返回值:字符串

使用说明自定义拼接行为

__len

触发条件:使用#运算符

参数:(a)

返回值:整数

使用说明自定义长度

__eq

触发条件:使用==比较

参数:(a,b)

返回值:布尔值

使用说明自定义相等判断

__lt

触发条件:使用<比较

参数:(a,b)

返回值:布尔值

使用说明自定义小于判断

__le

触发条件:使用<=比较

参数:(a,b)

返回值:布尔值

使用说明自定义小于等于判断

__call

触发条件:表像函数一样被调用时

参数:(table, ...)

返回值:任意

使用说明可以函数一样调用

__tostring

触发条件:使用 tostring()print

参数:(table)

返回值:字符串

使用说明自定义输出格式

__metatable

触发条件:防止修改

参数:字符串或任意值(不可是函数)

返回值:任意

使用说明隐藏

http://www.lryc.cn/news/604422.html

相关文章:

  • PCB学习笔记(一)
  • 【Python系列】如何安装无 GIL 的 Python 3.13
  • dify 添加 ollama 模型报错
  • AP-0316 全功能语音处理模组:技术解析与应用指南
  • MySQL的单行函数:
  • 【C++】适配器模式手搓STL的stack和queue
  • 字节跳动GR-3:可泛化、支持长序列复杂操作任务的机器人操作大模型(技术报告解读)
  • 探索 Linux 权限的奥秘:守护系统安全的关键
  • C++11 std::function 详解:通用多态函数包装器
  • Thales靶机攻略
  • 二叉树算法之【二叉树的层序遍历】
  • 关于mysql时间类型和java model的日期类型映射
  • “古法编程”到“vibe coding”的第一步:Zread助力一键生成项目说明书
  • 本地 docker 部署 HAR包分析工具 harviewer
  • 云原生环境里的显示变革:Docker虚拟浏览器与cpolar穿透技术实战
  • Web前端实战:Vue工程化+ElementPlus
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型
  • 【CF】Day115——杂题 (构造 | 区间DP | 思维 + 贪心 | 图论 + 博弈论 | 构造 + 位运算 | 贪心 + 构造 | 计数DP)
  • 从0到1学PHP(七):PHP 与 HTML 表单:实现数据交互
  • useRouteLeaveConfirm 路由离开确认弹窗 Hook
  • ECCV | 2024 | LocalMamba:具有窗口选择性扫描的视觉状态空间模型
  • 2019 年 NOI 最后一题题解
  • C语言数据结构(1)顺序表专题2.顺序表的应用
  • Mac下的Homebrew
  • Python 中使用 OpenCV 库来捕获摄像头视频流并在窗口中显示
  • 深入理解 Doris Compaction:提升查询性能的幕后功臣
  • webpack-性能优化
  • 破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(二级)
  • C++ 中 NULL 与 nullptr 有什么区别?