不管是lua还是其它语言,该用结构体的用结构体,不要单独给一个table随便加一个字段
2017-03-13 18:31
537 查看
info模式,什么主动技能 被动技能全是以数据形式存储 管理者manager模式,新手引导数据,一到碰撞等。
之前代码写的不好的地方:
relationShipRelationInfo = {
list = {},
isFirstLegend = nil,
}
这样以一个结构体去存储,可读性大大提高。
之前代码写的不好的地方:
--得到展示的关系列表 function DevelopPathDialog:getDevelopPathRelationList() local resultShipRelationList = {} --关联列表 local shipId = self.shipId local dockyardList = Dict.DockyardList table.insert(resultShipRelationList, {proptotype = shipId}) for i = 1, #dockyardList do local dockyard = dockyardList[i] if dockyard.ship_group == shipId and dockyard.is_legend ~= 1 then --新增,过滤掉传奇船 table.insert(resultShipRelationList, {proptotype = dockyard.id}) resultShipRelationList.firstLegendId = dockyard.id elseif dockyard.ship_group == shipId then resultShipRelationList.firstLegendId = dockyard.id end end return resultShipRelationList end这里一个relationShipRelationList,它并不应该去随便加上一个firstLegendId的字段,这样会突然改变它的数据结构,我觉得这样写十分不好。正确做法是:
relationShipRelationInfo = {
list = {},
isFirstLegend = nil,
}
这样以一个结构体去存储,可读性大大提高。
相关文章推荐
- lua设置一个table的某字段为nil后,再访问该字段竟然不是nil??!!
- 分析一下CSDN论坛中一个比较字段值保留最大并删除其它的帖子
- 一个写得不错的LUA语言教程
- Lua语言中的table
- c语言中的结构体常出现的一个小错误
- 【转】返回lua一个table
- 请教一个KEYDOWN的处理,想实现输入符A,但面界面上出现B(想实现在英文键盘输入其它语言的字符),重载了CEdit,但不会没出现我要的效果?
- 脚本语言lua笔记(3)table表的用法
- lua下面dump出一个table的结构
- Go语言中通过结构体匿名字段实现方法的继承和重载
- hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
- Repeater JJ : 不要随便说精通"这是教训(一个水平垂直都居中的DIV样式)
- 一句SQL将一个字段首字母大小,其它小字
- 练习2-6:修改Fillvector.cpp使它能把vector中的所有元素连接成单独的一个字符串,并打印,但不要加上行号。
- /C/C++ DLL在其它语言中的调用 结构体/数组 指针
- 优化实战:不要随便将字段折腾来折腾去的
- C语言技巧--在结构体中使用函数例子(定义一个指向函数的指针)
- 分享:用四十种语言分别写一个MD5算法 之18 Lua语言MD5算法
- 12个小球,有1个质量与其它不同,提供一个天平,要求称3次找出特别的小球是轻还是重
- 一个在游戏中使用的脚本语言---LUA