可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该原表中是否有一个叫__add的字段。...
分类:
其他好文 时间:
2015-01-05 16:57:16
阅读次数:
132
1.-- --metatable 可以作为继承的用法
parent = {
house = 1
}
parent.__index = parent --如果没有这一句话 child即使是设置parent为元表 也不能找到parent中的内容. __index指向的内容是nil
child = {
wife = 2
}
setmetatable(child, parent)...
分类:
Web程序 时间:
2014-12-28 15:38:52
阅读次数:
152
元表为重定义Lua中任意一个对象(值)的默认行为提供了一种公开入口. 如同许多OO语言的操作符重载或方法重载.算术类元方法: 字段:__add __mul __ sub __div __unm __mod __pow (__concat)代码:(两个table相加)下例中mt是元表,__add是元方...
分类:
Web程序 时间:
2014-12-21 17:59:34
阅读次数:
171
元表与元方法基本概念 1.lua中每个值都有一个元表 2.table和userdata可以有各自独立的元表 3.其它类型的值共享其类型所属的单一元表 4.lua在创建新table时不会创建元表 5.其它基本类型的加减等操作都有预定义操作,table只能通过元表及元方法 6.getmeta...
分类:
其他好文 时间:
2014-12-17 15:53:45
阅读次数:
172
--[[
lua元表完成
数值和逻辑运算
]]
--[[
Lua不支持函数默认值
所以通过是否为nil来判断
如果是nil的话,not nil为true
Lua支持的元表函数
__add 加
__sub 减
__div 除
__unm 负
__pow 幂
Lua支持的元表逻辑运算
__eq 等于
__lt 小于
__le 小于等于
]]
require("math")
functio...
分类:
其他好文 时间:
2014-12-17 00:22:01
阅读次数:
133
lua是一门简单的语言,不带类和属性封装,但可以使用lua强大的元表模拟实现:class.lualocal type = typelocal rawset = rawsetlocal setmetatable = setmetatablelocal traceCount = 0local trace...
分类:
其他好文 时间:
2014-12-11 20:39:46
阅读次数:
195
Lua本身是没有以明确的定义来支持OOP编程的,但是我们却可以通过Lua本身提供的一些特性来间接实现简单的面向对象的编程。...
分类:
其他好文 时间:
2014-12-09 10:34:42
阅读次数:
255
很少自己写Bash脚本,一写就出现了一些奇怪的问题,主要还是对Bash脚本的语法不够熟悉,毕竟很少使用。
当做记录一下吧,今天因为空格导致的一些脚本问题:
1、Bash脚本中的赋值符号“=”前后不能有空格。例如给变量number赋值要写成“number=1”,不能写成“number = 1”。大多数编程语言都会忽略掉一些没有意义的空格,例如对于Java语言上面两种写法在语法上都是正确,...
分类:
其他好文 时间:
2014-11-30 21:33:33
阅读次数:
165
今天茶花有事,发的有点晚。一、HTML部分1.div标签div相当于一个容器,包裹着属于同一逻辑的部分,如一个列表等。用id给div命名,以此作为唯一的标识。2.table标签 :行,:单元,:表头; 、、:若以此来包裹,作用是:待完全加载后才显示。 表格的标题。 summary:table标签的....
分类:
Web程序 时间:
2014-11-30 06:10:13
阅读次数:
195
嘿嘿,今天来的早点啦,主要有问题解决不了,希望看到的亲们知道怎么整的给我说下,先谢谢哦:-D 首先复习了三元表达式:即 表达式1,表达式2,表达式3; 举例: bool result = 5 > 3 ? true : false; 随机数的产生,这个话说用的不多吧,但是还是知道的好 即:Rando....