lua中类的属性是table时,多个类的实例使用了同一个table属性
来源:互联网 发布:网络成瘾的心理危害 编辑:程序博客网 时间:2024/06/14 15:59
定义类Array:
function Array:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
o.content = {} --此处再赋值创建空表
return o;
end
Array = {
nextIdx = 1,
nextIdx = 1,
content = {}
}
function Array:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o;
end
}
function Array:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o;
end
测试:
a = Array:new()
b = Array:new()
a. nextIdx = 10
print(a.nextIdx)
print(b.nextIdx)
print(a.content)
print(b.content)
输出为
10
1
table: 0021D528
table: 0021D528
发现a与b的nextIdx属性不同,但content值相同,为同一个表
但是在new时再为其幅值可避免这一问题,将其修改为
Array = {
nextIdx = 1,
nextIdx = 1,
content = nil
}
}
o = o or {}
setmetatable(o, self)
self.__index = self
o.content = {} --此处再赋值创建空表
return o;
end
调用同样测试函数结果为:
10
1
0023D668
0023D528
结果各不相同
0 0
- lua中类的属性是table时,多个类的实例使用了同一个table属性
- lua中table的使用
- Lua中table的使用
- table的RULES属性
- table的border属性
- table的 rowIndex 属性
- TABLE的logging属性
- Table的title属性
- table标签的属性
- lua table的使用
- HTML中table的属性tr、th、td的使用
- lua中table中嵌套table的使用
- CSS中table-layout属性的作用及使用详解
- c++中string table的mainframe属性
- java 窗体中 table的 属性设置
- lua 中table的使用和分析
- Table的border-collapse属性
- table的border-collapse属性
- PCL 在windows 下的配置(不需要Cmake)
- 整理Git的命令使用
- Public Function ConnectString
- [HDOJ 4900] NO ACM NO LIFE [树的直径]
- 干货,设计即体验
- lua中类的属性是table时,多个类的实例使用了同一个table属性
- Mysql的rpm的安装(原)
- java中读取配置文件的方法
- CSS: Cascading Style Sheet(层叠样式表)
- android 开源项目整理
- short、int、long、long long, float、double、 long double
- 电 容 滤 波 的 两 个 要 点 当心 把 地 上干 扰 引 到 器件上
- HDU 1285——确定比赛名次(拓扑排序入门)
- break和continue的区别