LUA中点号和冒号的区别
Student = {};
Student.__index = Student;
function Student:new(name, age)
local temp = {};
setmetatable(temp, Student);
temp.name = name;
temp.age = age;
return temp;
end
function Student:info()
print(self.name, self.age);
--运行stu2时会报错
-- print("name:" .. self.name .. " age:" .. self.age);
end
--输出:stu1 10
stu1 = Student.new(nil, "stu1", );
stu1:info();
--输出:10 nil
stu2 = Student.new("stu2", );
stu2:info();
--输出:nil stu3
stu3 = Student:new(nil, "stu3", );
stu3:info();
--输出:stu4 10
stu4 = Student:new("stu4", );
stu4:info();
Student = {};
Student.__index = Student;
--此处做修改
function Student.new(name, age)
local temp = {};
setmetatable(temp, Student);
temp.name = name;
temp.age = age;
return temp;
end
function Student:info()
print(self.name, self.age);
end
--输出:nil stu1
stu1 = Student.new(nil, "stu1", );
stu1:info();
--输出:stu2 10
stu2 = Student.new("stu2", );
stu2:info();
--输出:table: 0037B200 nil
stu3 = Student:new(nil, "stu3", );
stu3:info();
--输出:table: 0037B200 stu4
stu4 = Student:new("stu4", );
stu4:info();
--输出:table: 0084B200 stu5
stu5 = Student:new("stu5");
stu5:info();
--输出:stu6 10
stu6 = Student:new("stu6", 10);
stu6.info(stu6);
Student = {};
Student.__index = Student;
function Student.new(name, age)
local temp = {};
setmetatable(temp, Student);
temp.name = name;
temp.age = age;
return temp;
end
function Student:info()
print(self.name, self.age);
end
function Student:message()
print(self.name, self.age);
end
function Student.school()
print("go to school!!!");
end
--声明类时用点号:Student.new(name, age)
stu = Student:new("zhangsan", );
stu:info(); --输出信息错误
stu.school();
--stu.message(); --报错
stu.message(stu);--输出信息错误
mes = Student.new("zhangsan", );
--mes.info(); --报错
mes.info(mes);
mes.school();
--声明类时用冒号:Student.new(name, age)
--stu = Student:new("zhangsan", 10);
--stu:info();
--stu.info(stu);
--stu.school();
--mes = Student.new(nil, "mes", 20);
--mes:message();
--mes.school();
LUA中点号和冒号的区别的更多相关文章
- Lua中调用函数使用点号和冒号的区别
1.初学者最易混乱Top1——调用函数时用点号还是用冒号? 我们来看看下面的两句代码: mSprite.setPosition(, ); mSprite:setPosition(, ); 对于初次接触 ...
- Lua点号和冒号区别
定义的时候冒号默认接收self参数调用的时候冒号默认传递调用者自己为参数而句号要显示传递或接收self参数 -- 例如:句号定义,需要显示传递或接收 a = { x = } function a.fu ...
- lua --- 点号 和 冒号
冒号的作用:1.定义函数时,给函数添加隐藏的第一个参数 self2.调用函数时,默认把当前调用者作为第一个参数传递进去 如 a:b(c) 可以理解为 a.b(a, c) 以下是用点号的定义和调用函数的 ...
- [转]lua面向对象编程之点号与冒号的差异详细比较
首先,先来一段在lua创建一个类与对象的代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Class = {} Class.__index = Cl ...
- lua面向对象编程之点号与冒号的差异详细比较
首先,先来一段在lua创建一个类与对象的代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Class = {} Class.__index = Cl ...
- php 单引号与双引号区别
一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...
- PHP笔记:单引号与双引号区别
PHP笔记:单引号与双引号区别 php中使用字符串时,可以使用单引号或者双引号,这里总结一下二者的不同: 一.解析字符内容 双引号中的变量会会经过编译器解析 单引号中的变量不会被解析 如下: < ...
- css3单冒号和双冒号的区别
css3中对于伪元素的使用,在项目开发中使用得当将会对代码的可读性又很大的提升.但是对于伪类大家或许都知道是一些选择器的使用,这里总结了关于伪元素中单冒号和双冒号的区别: 再官方定义中规定单冒号都为伪 ...
- Lua中点和冒号的区别
在使用lua设计类时'.'和':'的区别主要在于使用'.'必须手动加self参数,使用':',可以隐藏这个参数,使用'.'调用使用':'定义的函数时,要注意,函数的第一个参数为self,如 funct ...
随机推荐
- 如何使用Loadrunner12录制WebSocket脚本
简单说一下,关于Loadrunner12对WebSocket的支持可以参照以下文档: http://community.hpe.com/t5/LoadRunner-and-Performance/As ...
- programming-languages学习笔记--第3部分
programming-languages学习笔记–第3部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...
- Kali-linux服务的指纹识别
为了确保有一个成功的渗透测试,必须需要知道目标系统中服务的指纹信息.服务指纹信息包括服务端口.服务名和版本等.在Kali中,可以使用Nmap和Amap工具识别指纹信息.本节将介绍使用Nmap和Amap ...
- [Python 多线程] threading.local类 (六)
在使用threading.local()之前,先了解一下局部变量和全局变量. 局部变量: import threading import time def worker(): x = 0 for i ...
- TTL电平, RS232电平以及CMOS电平的区别
TTL电平标准 输出 L: <0.8V : H:>2.4V. 输入 L: <1.2V : H:>2.0V TTL器件输出低电平要小于0.8V,高电平要大于2.4V.输入,低于1 ...
- (转)Linux内核基数树应用分析
Linux内核基数树应用分析 ——lvyilong316 基数树(Radix tree)可看做是以二进制位串为关键字的trie树,是一种多叉树结构,同时又类似多层索引表,每个中间节点包含指向多个节点的 ...
- SharePoint2013代码操作权限组的几个Demo
1,清明节闲来无聊,敲代码吧,不知道敲什么,不敲吧,又好像比较颓废,不思进取.遂把以前项目中别的同事负责的权限模块的代码看一看,做俩个Demo. (1)代码创建组 protected void Cre ...
- html中的meta元素及viewport属性值
<meta name="viewport" content="width=device-width , initial-scale=1.0, maximum-sca ...
- Oracle 执行计划的查看方式
访问数据的方法:一.访问表的方法:1.全表扫描,2.ROWID扫描 二.访问索引的方法:1.索引唯一性扫描,2.索引范围扫描,3.索引全扫 ...
- Django DTL 加减乘除求余
django模板只提供了加法的filter,没有提供专门的乘法和除法运算: django提供了widthratio的tag用来计算比率,可以变相用于乘法和除法的计算. 加法 {{value|add:1 ...