相关疑难解决方法(0)

我如何循环遍历ruby中的哈希散列

好的,所以我有这个哈希

 h
 => {"67676.mpa"=>{:link=>"pool/sdafdsaff", :size=>4556}} 

>  h.each do |key, value|
>     puts key
>   puts value
>   end
67676.mpa
linkpool/sdafdsaffsize4556
Run Code Online (Sandbox Code Playgroud)

我如何访问循环中值哈希值中的单独值

ruby hash ruby-on-rails

74
推荐指数
4
解决办法
13万
查看次数

迭代Ruby中深度嵌套的哈希级别

所以我有一个哈希,对于每个哈希级别,我想存储它的键和值.问题是,值可以是另一个哈希数组.此外,该哈希可以包含键值对,其中值又是另一个哈希数组等等.另外,我不知道每个哈希的嵌套程度有多深.举个例子:

{
  :key1 => 'value1',
  :key2 => 'value2',
  :key3 => {
     :key4 => 'value4',
     :key5 => 'value5'
   },
    :key6 => {
      :key7 => 'value7',
      :key8 => {
        :key9 => 'value9'
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

..等等.我想要做的是保存每个键,值对和其父级的ID.我认为这可能是递归完成的,我只是不确定如何因为我不熟悉递归函数.我知道如何正常迭代数据:

  myHash.each {|key, value|
    ...Do something with the key and value ...
  }
Run Code Online (Sandbox Code Playgroud)

所以我猜测递归调用将是这样的:

def save_pair (myHash)
  myHash.each {|key, value|
    if(value.class != Hash) ? Pair.create(key, value) : save_pair(value)
  }
end
Run Code Online (Sandbox Code Playgroud)

这是未经测试的,我仍然不确定如何合并保存父ID.

ruby recursion hash ruby-on-rails ruby-on-rails-3

29
推荐指数
3
解决办法
3万
查看次数

标签 统计

hash ×2

ruby ×2

ruby-on-rails ×2

recursion ×1

ruby-on-rails-3 ×1