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. 数论——算数基本定理 - HDU 4497 GCD and LCM

    GCD and LCM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  2. spring中的default-lazy-init参数和lazy-init

    在spring的配置中的根节点上有个  default-lazy-init="true"配置:   1.spring的default-lazy-init参数  此参数表示延时加载, ...

  3. HDU Virtual Friends(超级经典的带权并查集)

    Virtual Friends Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  4. Centos 7安装Grafana 4及结合Zabbix3.2实现可视化监控图形

    上一篇介绍了如何在Centos 7环境下安装zabbix监控,本章继续介绍在Centos 7环境下安装Grafana,并结合Zabbix实现可视化监控图形! 简介: Grafana 是 Graphit ...

  5. java 企业门户网站 源码 自适应响应式 freemarker 静态引擎 html5 SSM

    官网 http://www.fhadmin.org/ 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的ht ...

  6. sort_area_retained_size之tom解释

    sort_area_retained_size 摘录一段asktom中tom的解释,对sort内存分配的方式进行了描述: it will allocate up to sort_area_retain ...

  7. [iOS]UIInterpolatingMotionEffect重力视觉差

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  8. iOS之面试题:阿里-P6一面-参考思路

    阿里-p6-一面  1.介绍下内存的几大区域? 2.你是如何组件化解耦的? 3.runtime如何通过selector找到对应的IMP地址 4.runloop内部实现逻辑? 5.你理解的多线程? 6. ...

  9. ubuntu 如何进行文件、夹删除等操作

    rm [选项] 文件-f, --force 强力删除,不要求确认-i 每删除一个文件或进入一个子目录都要求确认-I 在删除超过三个文件或者递归删除前要求确认-r, -R 递归删除子目录-d, --di ...

  10. Z字形编排问题详解(C++)

    Z字形编排问题详解(C++): 问题描述:给定一个矩阵matrix,输出矩阵matrix进行Z字形编排后的内容. 原矩阵: 输出形式: 算法分析与详细解答: 要解决这样一个问题,可能一开始无从下手,但 ...