我的应用程序中有一个构造,我需要这样的哈希:
{1 => [6,2,2],2 => [7,4,5],(3..7)=> [7,1]}
所以我希望键3,5,6和7具有相同的值.
当然上面的例子不起作用,因为Ruby是智能的并且将哈希键设置为给定:它将范围设置为键:)所以我只能访问我的值my_hash [(3..7)]和my_hash [3],my_hash [ 4]等等都是零.
当然我可以在哈希之外进行检查或构造来做我需要的东西,但是我很好奇是否可以在不使用哈希声明之外的任何循环的情况下设置这样的哈希?如果没有,最优雅的是什么?谢谢!
解决方法
这有什么特别的错吗?
myhash = { 1 => [6,5] } (3..7).each { |k| myhash[k] = [7,1] }