自己动手实现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 @ 2023-06-09 12:27  mc宇少  阅读(25)  评论(0编辑  收藏  举报