LUA表与函数的深入理解
LUA表与函数的深入理解
local heroInfo = {}--直接打印 table的名字,就会输出该table的内存地址 print("表地址---------------",heroInfo)--注意区别PrintInfo,PrintInfo2与TestSelf两个函数中self的不同 --有什么不? heroInfo.PrintInfo = function(self, x)--这里的self仅是我们定义的普通参数,可以写成任何样子print("PrintInfo-------------x=", x)self.gender = "men"print("gender=", heroInfo.gender) --输出 gender=men,为什么? end--定义函数时使用点号,self并不存在 heroInfo.PrintInfo2 = function(x)print("PrintInfo2-------------self=", self, ",x=", x) end--定义函数时使用冒号,系统自动把表地址赋值给了self function heroInfo:TestSelf(x)--注意,参数并没有写selfprint("TestSelf--------------self=", self, ",x=", x)self.name = "jim"print("heroInfo.name=",heroInfo.name)heroInfo.name = "none"print("self.name=", self.name) end--函数调用 --使用冒号调用时,系统会自动把表地址传给函数的第一个参数,使用点号则不会 --这个参数可以写成self,也可以写成其它任何样子 --这类似于C++中的this指针 heroInfo:PrintInfo("hello")--改成点号调用测试下 heroInfo:PrintInfo2("hello", "world")--改成点号调用测试下 heroInfo:TestSelf(10)--改成点号调用测试下--lua中table是一个引用型变量,就像C#中的数组,类对象 local self = heroInfo --从此以后ref与heroInfo就指向同一个表了print("self.name=",self.name, "self.gender=",self.gender) self.name = "monster" self.gender = "unknown" print("heroInfo.name=", heroInfo.name, "heroInfo.gender=", heroInfo.gender)
posted on 2017-02-24 10:42 时空观察者9号 阅读(...) 评论(...) 编辑 收藏
LUA表与函数的深入理解相关推荐
- Lua程序设计 | 字符串、表、函数与IO
From<Programming in Lua> by Roberto Ierusalimschy 文章目录 字符串 字符串常量 长字符串/多行字符串 强制类型转换 字符串标准库 表 表索 ...
- Lua 表(table)
介绍 表(Table)是Lua语言中最主要(事实上也是唯一的)和强大的数据结构.使用表,Lua语言可以以一一种简单.统一且高效的方式表示数组.集合.记录和其他很多数据结构.Lua语言也使用表来表示包( ...
- 【木头Cocos2d-x 029】Lua篇(第04章):来点高难度的,获取Lua表结构数据
[木头Cocos2d-x 029]Lua篇(第04章):来点高难度的,获取Lua表结构数据 只是获取一个全局变量什么的太没意思了,今天我们来玩个高难度的--获取Lua表结构的数据. (旁白:O O!我 ...
- Step By Step(Lua调用C函数)
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性.对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数.对于那些可被L ...
- ORACLE时间函数(SYSDATE)深入理解
ORACLE时间函数(SYSDATE)深入理解 加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,a ...
- memcpy函数_如何理解c语言中的回调函数
在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 这段话不是那么好理解,不同语言实现回调的方式有些许不 ...
- lua ue_slua unreal分析(二)LuaActor与lua表互访
相关文章: 南京周润发:slua unreal分析(一)LuaActor概览zhuanlan.zhihu.com 南京周润发:slua unreal分析( 三)slua与GCzhuanlan.zh ...
- tableau度量值计算_Tableau 基础 | 表计算函数
才发现,一不小心写了这么多篇表计算主题的文章了: 但是呢,表计算博大精深,还会持续研究下去的. 开始研究表计算(Table Calc)的内容了,总觉得官方的help稍微有些不符合学习理解的规律 表计算 ...
- 【Android 逆向】函数拦截原理 ( 通过修改 GOT 全局偏移表拦截函数 | 通过在实际被调用的函数中添加跳转代码实现函数拦截 )
文章目录 一.通过修改 GOT 全局偏移表拦截函数 二.通过在实际被调用的函数中添加跳转代码实现函数拦截 一.通过修改 GOT 全局偏移表拦截函数 使用 GOT 全局偏移表 拦截函数 , 只需要将 G ...
最新文章
- R语言ggplot2可视化绘制累积计数图(累加图,cumulative counts)
- union-find算法分析(2)
- 4.API的调用过程(系统服务表)
- (~解题报告~)L1-020 帅到没朋友 (20分)——25行代码AC
- Unity 音频优化方案
- 163 coremail_Icoremail企业邮箱
- 前端:JS/21/循环和数组的练习题
- python中文版电脑下载-Python IDLE下载
- 机器学习中的「相似度度量」方法及应用
- CVPR 2022|群核前沿院等提出首个基于数据驱动的面检测算法
- python实现语音机器人
- IP归属地解析之离线纯真数据库分享
- 直播行业迎来多元化发展
- 为胎儿诵地藏经的好处(合集)怀孕的一定要看哦!
- 手把手教你解决U盘快捷方式病毒
- matlab平均脸,BFM使用 - 获取平均脸模型的68个特征点坐标
- 100个相见恨晚的Python库
- 建行找不到服务器或DNS错误,建行浏览器打不开,提示域名解析错误,代码105,怎么解决?谢谢...
- java集合类的线程安全_Java集合中的线程安全问题
- Python3.7.1学习(一):redis的连接和简单使用
热门文章
- 笔记-信息系统开发基础-架构设计-软件架构主要职责
- Eclipse中怎样安装数据库建模工具ERMaster插件
- C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例
- DevExpress的图形按钮菜单栏控件WindowsUIButtonPanel的布局、使用和设置按钮的点击事件
- oracle 存储过程 输入,Oracle 存储过程加密方法
- map中只有一个值 获取_小学数学,为什么一个三角形中最多只有一个直角或一个钝角...
- r语言plot函数x轴y轴名字_Matplotlib入门-1-plt.plot( )绘制折线图
- 述信科技创始人 CEO 彭圣才:传统行业如何实现数字化转型(附 PPT 下载)
- 喜报!神策数据入选“中国科创企业百强榜”前 3 名
- 神策数据与 IPIP.NET 强强联合,精准 IP 让用户行为分析更精确