lua的语法很简单,太简单了,所以lua就复杂了 两个点与一个点有什么区别呢? 一个点用来定义和取得一个变量,这个变量可能是个函数 两个点用来定义和调用一个函数,两个点会自动传入“调用者”这个table自身 先看简单的: c = {a = 1, b = 2} function c ...
Lua中的点 冒号与self,它们之间的关系主要体现在函数的定义与调用上,Lua在函数定义时可以用点也可以用冒号,如: 用冒号定义的函数有个特别的地方是它内部有个self表示自身可以直接访问 虽然self并不是Lua的关键字,他它确实是可以访问的 ,如同C C 的this: 输出: 可见self即myclass本身。如果上面不是冒号而是点则self不可用的会报错,因为self是个nil值。 点定义 ...
2017-08-15 23:04 0 1642 推荐指数:
lua的语法很简单,太简单了,所以lua就复杂了 两个点与一个点有什么区别呢? 一个点用来定义和取得一个变量,这个变量可能是个函数 两个点用来定义和调用一个函数,两个点会自动传入“调用者”这个table自身 先看简单的: c = {a = 1, b = 2} function c ...
链接:https://www.jianshu.com/p/753b06ca07b0 --冒号:在定义时省略了self --点号:在定义时不省略self Class = {} Class.__index = Class function ...
前言 在LUA中,经常可以看到:. self,如果你学习过Java或C#语言,可以这样理解 .对于c#和java的静态方法 :相当于是实例方法 今天在CSDN上看到一篇博客写的很清楚,转载过来 原文出处:http://blog.csdn.net/wangbin_jxust ...
一、定义方法的区别 1、冒号定义方法,默认会接受self参数;而点号定义的时候,默认不会接受self参数 例: (1)冒号定义 function class:test() --这里会接受self参数,比如 print(self.a,self.b) 在这里self ...
先来看一段简单的代码: 输出结果为: 由此可见,定义:在Eat(冒号函数)内部有一个参数self,在Sleep(点函数)内部没有参数self;调用:用冒号(:)调用函数时,会默认传一个值(调用者自身)作为第一个参数;用点(.)调用函数时,则没 ...
参考资料 1.https://my.oschina.net/lonewolf/blog/173065 其结论为: 1、定义的时候:Class:test()与 Class.test(self)是等价的,点号(.)要达到冒号(:)的效果要加一个self参数到第一个参数; 2、调用 ...
lua中self指的是当前方法所属的table。一般来讲self可以理解为当前对象,但是在创建一个“类”的实例的时候,它代表的确是基类,而非当前对象。 下面上代码: ...
example1 Account模拟一个对象,new方法类似于实例化一个对象,conf可存放一些初始值作用等同于conf是Account的子类。 解释:Account这个table有一个属性balance,通过new函数实例化一个类继承于Account。在lua中类,父类都是 ...