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

Project1

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

[已经解决] 一个哈希表的运算问题。。

[复制链接]

Lv2.观梦者

梦石
0
星屑
719
在线时间
684 小时
注册时间
2009-5-29
帖子
461
跳转到指定楼层
1
发表于 2010-10-26 15:44:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 saturnfjh 于 2010-10-26 17:10 编辑

hash中如何将value相等的key取出形成一个array?
如hash={a=>x,b=>y,c=>z,d=>x}(x>y>z)
如何获得array=[a,d]?

点评

快去认可帖认可[url]http://bbs.66rpg.com/thread-155979-1-2.html[/url],愚者求分若渴  发表于 2010-10-26 17:27

Lv1.梦旅人

旅之愚者

梦石
0
星屑
240
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

2
发表于 2010-10-26 16:01:19 | 只看该作者
本帖最后由 六祈 于 2010-10-26 16:08 编辑

如果是将value等于某值的key取出,可以这么写:
hash.keys.select{|key| hash[key] == x}

如果是要把重复值的键取出,那显然并不一定只有一个数组。

评分

参与人数 1星屑 +700 收起 理由
八云紫 + 700 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
258
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

3
发表于 2010-10-26 16:01:29 | 只看该作者
本帖最后由 铃仙·优昙华院·因幡 于 2010-10-26 16:05 编辑

  1. def get_array(value)
  2.   cache = []
  3.   $hash.eachdo |key, val|
  4.      cache << key if val == value
  5.   end
  6.   return cache
  7. end

  8. def get_arrays
  9.   cache = []
  10.   $hash.values.uniq.each do |n|
  11.       cache << get_array(n)
  12.   end
  13. end
复制代码
渣方法~~

点评

OY,感谢各位- - 67师傅,奶茶师傅,还有铃仙姐姐= =  发表于 2010-10-26 17:10

评分

参与人数 1星屑 +300 收起 理由
八云紫 + 300 认可答案

查看全部评分


《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
719
在线时间
684 小时
注册时间
2009-5-29
帖子
461
4
 楼主| 发表于 2010-10-26 16:26:25 | 只看该作者
如果是将value等于某值的key取出,可以这么写:
hash.keys.select{|key| hash[key] == x}

如果是要把重复 ...
六祈 发表于 2010-10-26 16:01

渣方法~~
铃仙·优昙华院·因幡 发表于 2010-10-26 16:01


话说这样,一个敌人有一个仇恨列表(hash={index=>hate_value}),现在要选择最高的仇恨
要是最高的仇恨同时有2个以上,那么就随机选择一个,这个要怎么写哦。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

旅之愚者

梦石
0
星屑
240
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

5
发表于 2010-10-26 16:45:49 | 只看该作者
回复 saturnfjh 的帖子

果断在这里回帖刷分
  1. max_value = hash.values.sort[-1]
  2. keys_array = hash.keys.select{|key| hash[key] == max_value}
  3. random_key = keys_array[rand(keys_array.size)]
复制代码

点评

OY,感谢各位- - 67师傅,奶茶师傅,还有铃仙姐姐= =  发表于 2010-10-26 17:09
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

6
发表于 2010-10-26 22:29:10 | 只看该作者
哇咧,都是脚本高手的说,我只能看懂问题,正解吗...一个看不懂。
好好学习脚本吧,看来我的路还有好长..

魔法麻将独立游戏制作中,欢迎热情的测试员与UI设计师合作开发~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 14:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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