设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1245|回复: 1
打印 上一主题 下一主题

[已经解决] 一个hash主键的添加中,这个主键是否存在?

[复制链接]

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
跳转到指定楼层
1
发表于 2013-8-24 21:43:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 a554187203 于 2013-8-24 21:52 编辑

阅读预置脚本中,有这样一句代码
  1.    def gain_weapon(weapon_id, n)
  2.     @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
复制代码
这里的方法代码是
  1.   def weapon_number(weapon_id)
  2.     return @weapons.include?(weapon_id) ? @weapons[weapon_id] : 0
复制代码
我有点奇怪,正在赋值中,但@weapons的主键[weapon_id]存在吗? 如果存在,它返还一个nil值有什么用,而且nil值是无法相加的
如果不存在,weapon_number(weapon_id) + n,这句代码为什么不直接使用n呢

想了想,这句子似乎是为了在有这个武器的时候,实现武器的相加
不过由于并没有涉及过这方面的内容,所以纠结于此了
不知道自己的猜想是否是正确的,而且也挺好奇hash主键添加中,主角是否存在的,所以问题还是摆一会儿,如果知道请回吧
谢谢了
算了,自己都觉得白痴,为什么会纠结在这个地方,不会删除,就摆上已解决吧

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
2
发表于 2013-8-25 11:01:43 | 只看该作者
获得物品的流程应该是这样的:
1,获得物品ID (gain_weapon(weapon_id, n))
2,计算该物品ID数量,如果该物品已经存在,就返回它的值.如果不存在就返回0    (@weapons.include?(weapon_id) ? @weapons[weapon_id] : 0)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-29 19:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表