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中点号和冒号的区别的更多相关文章

  1. Lua中调用函数使用点号和冒号的区别

    1.初学者最易混乱Top1——调用函数时用点号还是用冒号? 我们来看看下面的两句代码: mSprite.setPosition(, ); mSprite:setPosition(, ); 对于初次接触 ...

  2. Lua点号和冒号区别

    定义的时候冒号默认接收self参数调用的时候冒号默认传递调用者自己为参数而句号要显示传递或接收self参数 -- 例如:句号定义,需要显示传递或接收 a = { x = } function a.fu ...

  3. lua --- 点号 和 冒号

    冒号的作用:1.定义函数时,给函数添加隐藏的第一个参数 self2.调用函数时,默认把当前调用者作为第一个参数传递进去 如 a:b(c) 可以理解为 a.b(a, c) 以下是用点号的定义和调用函数的 ...

  4. [转]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 ...

  5. 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 ...

  6. php 单引号与双引号区别

    一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...

  7. PHP笔记:单引号与双引号区别

    PHP笔记:单引号与双引号区别 php中使用字符串时,可以使用单引号或者双引号,这里总结一下二者的不同: 一.解析字符内容 双引号中的变量会会经过编译器解析 单引号中的变量不会被解析 如下: < ...

  8. css3单冒号和双冒号的区别

    css3中对于伪元素的使用,在项目开发中使用得当将会对代码的可读性又很大的提升.但是对于伪类大家或许都知道是一些选择器的使用,这里总结了关于伪元素中单冒号和双冒号的区别: 再官方定义中规定单冒号都为伪 ...

  9. Lua中点和冒号的区别

    在使用lua设计类时'.'和':'的区别主要在于使用'.'必须手动加self参数,使用':',可以隐藏这个参数,使用'.'调用使用':'定义的函数时,要注意,函数的第一个参数为self,如 funct ...

随机推荐

  1. 【jQuery】jQuery与Ajax的应用

    1.demo1 <script language="javascript" type="text/javascript"> //通过这个函数来异步获 ...

  2. nyoi 42(欧拉回路)

    http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 ...

  3. 开源Webshell利用工具——Altman

    开源Webshell利用工具--Altman keepwn @ 工具 2014-06-04 共 6114 人围观,发现 43 个不明物体收藏该文 Altman,the webshell tool,自己 ...

  4. 大话Linux内核中锁机制之RCU、大内核锁

    大话Linux内核中锁机制之RCU.大内核锁 在上篇博文中笔者分析了关于完成量和互斥量的使用以及一些经典的问题,下面笔者将在本篇博文中重点分析有关RCU机制的相关内容以及介绍目前已被淘汰出内核的大内核 ...

  5. centos6.4安装使用wine 持续更新中

    首先,从wine的官网下载页面http://www.winehq.org/download/可以了解到centos安装wine需要EPEL软件仓库.那么首先安装EPEL软件仓库,从http://mir ...

  6. 【Dubbo源码阅读系列】之远程服务调用(上)

    今天打算来讲一讲 Dubbo 服务远程调用.笔者在开始看 Dubbo 远程服务相关源码的时候,看的有点迷糊.后来慢慢明白 Dubbo 远程服务的调用的本质就是动态代理模式的一种实现.本地消费者无须知道 ...

  7. Apache 各启动方式的差别

    apachectl 调用 $httpd -k 1. kill - TERM `cat /usr/local/apache/logs/http.pid` 2. /bin/httpd -k  stop/s ...

  8. plsql developer 64位 注册码

    注册码product code(产品编码): 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number(序列号):226959 password(口令): xs ...

  9. Java常用修饰符总结

    修饰符是用于限定类型以及类型成员申明的一种符号,可用于修饰类.变量和方法,分为访问修饰符和非访问修饰符.访问修饰符控制访问权限,不同的访问修饰符有不同的权限范围,而非访问修饰符则是提供一些特有功能. ...

  10. vue中使用swiper并自定义分页器样式

    一,安装swiper 执行命令 npm install vue-awesome-swiper --save 二,引入swiper import {Swiper} from "vue-awes ...