原文:Lua中的点、冒号与self

Lua中的点 冒号与self,它们之间的关系主要体现在函数的定义与调用上,Lua在函数定义时可以用点也可以用冒号,如: 用冒号定义的函数有个特别的地方是它内部有个self表示自身可以直接访问 虽然self并不是Lua的关键字,他它确实是可以访问的 ,如同C C 的this: 输出: 可见self即myclass本身。如果上面不是冒号而是点则self不可用的会报错,因为self是个nil值。 点定义 ...

2017-08-15 23:04 0 1642 推荐指数:

查看详情

lua冒号的区别

lua的语法很简单,太简单了,所以lua就复杂了 两个与一个有什么区别呢? 一个用来定义和取得一个变量,这个变量可能是个函数 两个用来定义和调用一个函数,两个会自动传入“调用者”这个table自身 先看简单的: c = {a = 1, b = 2} function c ...

Sun Jun 11 06:48:00 CST 2017 0 8090
luaself的用法

链接:https://www.jianshu.com/p/753b06ca07b0 --冒号:在定义时省略了self --点号:在定义时不省略self Class = {} Class.__index = Class function ...

Wed Feb 26 08:53:00 CST 2020 0 1463
理解lua . : self

前言 在LUA,经常可以看到:. self,如果你学习过Java或C#语言,可以这样理解 .对于c#和java的静态方法 :相当于是实例方法 今天在CSDN上看到一篇博客写的很清楚,转载过来 原文出处:http://blog.csdn.net/wangbin_jxust ...

Thu Aug 14 23:59:00 CST 2014 0 2422
关于lua冒号(":")和点号(".")的区别

一、定义方法的区别 1、冒号定义方法,默认会接受self参数;而点号定义的时候,默认不会接受self参数 例: (1)冒号定义 function class:test()   --这里会接受self参数,比如   print(self.a,self.b)   在这里self ...

Sat Jul 02 02:46:00 CST 2016 1 8140
Lua-面向对象函数使用时冒号(:)和(.)的区别

先来看一段简单的代码: 输出结果为: 由此可见,定义:在Eat(冒号函数)内部有一个参数self,在Sleep(点函数)内部没有参数self;调用:用冒号(:)调用函数时,会默认传一个值(调用者自身)作为第一个参数;用(.)调用函数时,则没 ...

Sat Aug 20 06:08:00 CST 2016 0 1787
lua拾遗之lua冒号(:)与点号(.)的区别和来由

参考资料 1.https://my.oschina.net/lonewolf/blog/173065 其结论为: 1、定义的时候:Class:test()与 Class.test(self)是等价的,点号(.)要达到冒号(:)的效果要加一个self参数到第一个参数; 2、调用 ...

Thu Dec 22 19:19:00 CST 2016 0 2015
luaself

luaself指的是当前方法所属的table。一般来讲self可以理解为当前对象,但是在创建一个“类”的实例的时候,它代表的确是基类,而非当前对象。 下面上代码: ...

Thu Dec 05 21:46:00 CST 2013 1 2482
luaself.__index = self是什么意思?

example1 Account模拟一个对象,new方法类似于实例化一个对象,conf可存放一些初始值作用等同于conf是Account的子类。 解释:Account这个table有一个属性balance,通过new函数实例化一个类继承于Account。在lua类,父类都是 ...

Fri Mar 17 04:23:00 CST 2017 0 7737
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM