自己动手实现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) 
复制代码

 

Lua方法调用 - 百度脑图 (baidu.com)

 

 

 

posted @   mc宇少  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示