`
7090
  • 浏览: 273798 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lua闭包

    博客分类:
  • Lua
阅读更多
Lua中的闭包函数,如果想在外面调用,必须在闭包的母函数执行后才能正常调用,否则改函数引用为空

_G.UIFather = {}

function UIFather:New(prefab)
    local t = { ["prefab"] = prefab }
    setmetatable(t, self)
    self.__index = self
    return t
end

function UIFather:RegisterCloseEvent(instance, func, ...)
	function UIFather:OnEvent(event,param)

	end
end

function UIFather:OnEnable(instance)
	
end

function UIFather:OnDisable(instance)
	
end


_G.A = _G.UIFather:New()

print("母函数调用之前" ,A["OnEnable"], A["OnEvent"],UIFather["OnEvent"])

UIFather:RegisterCloseEvent()

print("母函数调用之后" ,A["OnEnable"], A["OnEvent"],UIFather["OnEvent"])


调用结果为:
母函数调用之前	function: 0054CDF0	nil	nil
母函数调用之后	function: 0054CDF0	function: 0054CE70	function: 0054CE70
[Finished in 0.1s]
分享到:
评论

相关推荐

    lua闭包的理解以及表与函数的几种表达方法

    本文首先通过具体的例子讲解了Lua中闭包的概念,然后总结了闭包的应用场合,最后探讨了Lua中闭包的实现原理,以及lua中表与函数的3种表达方式的汇总

    LUA中的闭包(closure)浅析

    主要介绍了LUA中的闭包(closure)浅析,本文给出实例讲解LUA中的闭包,需要的朋友可以参考下

    Lua学习笔记之函数、变长参数、closure(闭包)、select等

    主要介绍了Lua学习笔记之函数、变长参数、closure(闭包)、select等,本文着重讲解了这些特性的用法,并给出代码实例,需要的朋友可以参考下

    lua-opendkim:Lua 绑定到 libopendkim

    除了为 API 提供全面的绑定之外,该模块还以一种方式实现,以简化使用可屈服 Lua 闭包作为回调挂钩的方式,而无需任何技巧或依赖于运行时环境。 这允许使用您选择的任何 DNS 实现和事件循环。建造要求GNU 制造...

    C++中搭建Lua脚本系统开发框架,并实现OpenGL调用

    1.如何编译lua2.C++ 中调用...深入的介绍lua栈(lua的灵魂)5.lua闭包和上值的使用6.lua元表的使用(lua的精髓)7.实现导出C++类给lua8.实现自动化导出类给lua9.导出OpenGL函数库给lua10.游戏循环中调用lua,实现OpenGL绘制.

    Lua 入门教程

    Lua 教程 lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 是巴西里约热内卢天主教大学(Pontifical ...

    LUA5.1 脚本语言 编译执行源码

    4、支持词法定界(lexical scoping)和闭包(closure);5、提供thread类型和结构化的协程(coroutine)机制,在此基础上可方便实现协作式多任务;6、运行期能编译字符串形式的程序文本并载入虚拟机执行;7、通过元表...

    Lua 编译器和迭代器用于在不同的微控制器上运行(如 AVR 8 位)_C语言_代码_相关文件_下载

    函数调用 global consts 全局和局部变量 循环的数学运算 本机函数(如 print()) 带有 upvalues 的闭包 垃圾收集器 以下代码可以由 uLua 执行。 更多详情、使用方法,请下载后阅读README.md文件

    lua5.2中文参考手册.zip

    lua5.2的参考手册,包括各种C语言函数的使用以及和lua5.1的区别,包括协程,闭包,元表的说明等。

    lua5.0的实现原理剖析

    深入剖析了Lua5.0的技术特点,基于寄存器的虚拟机,散列表用作数组时的新优化算法,闭包的实现以及协程的加入

    Lua中文教程(pdf版)

    lua中文教程,原名:programming in lua 目录 版权声明..............i 译序..i 目录iii 第一篇语言.......1 第0章序言.......1 0.1 序言..........1 0.2 Lua的使用者................2 0.3 Lua的相关资源...

    lua客户端网络库,主要供手机游戏客户端使用.rar

    一、前言 Lua 是一种轻量小巧的脚本语言,用标准 C 语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。...支持闭包 支持多线程 支持交互式编程

    Lua虚拟机指令集介绍

    Lua虚拟机指令集介绍: Lua指令基础,lua二进制程序块,指令记法,加载常量,Upvalue和全局变量,表指令,算术和字符串指令,跳转和调用,关系和逻辑指令,循环指令,表创建,创建和结束闭包等

    lua 5 实现1

    摘要我们探讨Lua5.0的主要特点:基于寄存器的虚拟机、散列表用做数组时的新优化算法,闭包的实现以及协程的加入。1. 介绍Lua 作为一个内部的软件开发工具,诞

    lua 程序设计学习.doc 版

    Lua程序设计 版权声明 译序 第一篇 语言 第0章 序言 0.1 序言 0.2 Lua的使用者 0.3 Lua的相关资源 0.4 本书的体例 0.5 关于本书 0.6 感谢 第1章 起点 1.1 Chunks 1.2 全局变量 1.3 词法约定 1.4 命令行方式 第2章 ...

    99乘法表java源码-learn-lua:学习lua

    scoping)和闭包(closure); 提供thread类型和结构化的协程(coroutine)机制,在此基础上可方便实现协作试多任务; 运行期间能编译字符串形式的程序文本并载入虚拟机执行; 通过元表(metatable)和元方法(metamethod)...

    Lua热更新技术中级篇

     内容包含lua可变参数、闭包、模块、函数尾调用、字符串模式匹配、字符串不变性原理、矩阵、链表、元表详解与应用、协同的生命周期与生产消费者问题、lua文件各种读写操作、lua执行外部代码与错误异常处理垃圾收集...

    libscript_lua:简单的 Lua C++ 绑定

    简单的 Lua C++11 绑定使用起来很简单,比如: #include "libscript.h"int main(){ Script script; script.execString("print(\"hello world\")");}使用函数和闭包 #include "libscript.h"void foo(const char* s){ ...

    <8>Lua从入门到精通

    lua语言以其,轻量级: 可扩展,支持面向过程编程和函数式编程;自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;闭包(closure);提供多线程支持;在 游戏开发,独立应用...

    sqlite-snapshot-202001112108.tar.gz

    Lua 特性 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用...

Global site tag (gtag.js) - Google Analytics