博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua_local变量在new时不会被清空
阅读量:7078 次
发布时间:2019-06-28

本文共 696 字,大约阅读时间需要 2 分钟。

前言

我的运行环境 Lua5.3

按照我们以往的Java或C#编程经验,如果一个class被new,那么这个class中所有成员变量的值都是默值或是构造函数中赋的值,但在Lua中的local变量却并不会被清空。

示例

这个例子中,我们定义了一个local 的 instanceClassA中,通过new() 两次 ClassA,通过输出观察到构造函数(ctor)调用了两次,但第二次new时,local 变量还是存在上次的值。

--- Lua中local变量的作用域,并不局限于当前class--- Created by zhaoqingqing. 569032731@qq.com--- DateTime: 2018/11/26------require("Common/class")local ClassA = class("ClassA")local flag = nilfunction ClassA:ctor()    print("ClassA:ctor")    self:TestLocal()endfunction ClassA:TestLocal()    if not flag then        flag = "ClassA"        print("TestLocal")    endendClassA.new()ClassA.new()

输出结果:

lua.exe E:/Code/blog_samplecode/lua_scripts/oop/LocalRefContext.luaClassA:ctorTestLocalClassA:ctor

转载地址:http://xmpml.baihongyu.com/

你可能感兴趣的文章
HTML5入门经典教程和案例
查看>>
php 没有php.ini配置文件
查看>>
webpack 教程
查看>>
play 脱离容器的践行者
查看>>
mybatis源码分析之SqlSession的创建过程
查看>>
OpenStack pike的卷管理完善
查看>>
Android存储技术简介
查看>>
CentOS开机启动lamp
查看>>
weblogic安装
查看>>
MySQL按照月进行统计
查看>>
Fuzhou Microsoft incubator Azure training
查看>>
Linux源码安装后设置动态库路径
查看>>
四、工厂方法
查看>>
http-equiv是什么意思(转载)
查看>>
在成熟运营期的产品中用户研究的价值体现-梁帆
查看>>
IDF 2014英特尔信息技术峰会
查看>>
nmap 端口状态解析
查看>>
Photo Picker+
查看>>
AALaunchTransition
查看>>
C语言malloc用法
查看>>