自己动手实现Lua(七)Lua方法
我们知道,Lua解释器在执行脚本之前,需要先把脚本装进一个主函数,然后把主函数编译成函数原型,最后交给Lua虚拟机去执行(详见第2章)。函数原型就相当于面向对象语言里的类,其作用是实例化出真正可执行的函数,也就是前面提到的闭包。
函数原型:编译器为我们事先准备好的各种信息:执行函数所需要的寄存器数量、定义函数时声明的固定参数数量以及是否是vararg函数。
例子:
local function max(...) local args = {...} local val, idx ... return val, idx end local function assert(v) if not v then fail() end end local v1 = max(3, 9, 7, 128, 35) assert(v1 == 128)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了