【问题标题】:How to iterate in Ruby?如何在 Ruby 中进行迭代?
【发布时间】:2011-02-09 13:30:23
【问题描述】:

我想迭代。

@some_value 输出以下结果:

{
  "Meta" => {
    "Query" => "java",
    "ResultOffset" => "1",
    "NumResults" => "1",
    "TotalResults" => "21931"
  }
}

我需要检索每个单独值的值。例如:

java
1
1
21931

【问题讨论】:

    标签: ruby hash iteration


    【解决方案1】:
    @some_value["Meta"].values
    

    输出是数组

    ["java", "1", "1", "21931"]
    

    【讨论】:

      【解决方案2】:

      Hash#each_value

      @some_value['Meta'].each_value { |v| p v }
      

      【讨论】:

        【解决方案3】:

        这里是each method

        @some_value['Meta'].each do |k, v|
            puts v
        end
        

        这将遍历您的每个条目并为每个条目执行 do/end 中的代码。
        这里会显示元素的值。

        【讨论】:

        • 我需要根据键显示,例如 @something 的 Query 应该返回 java 。上面的语句只显示值
        • 这不是一个很好的例子,因为这可以通过简单的puts @some_value['Meta'].values来更好地完成
        • 是的。但他想迭代并做一些其他事情,而不仅仅是显示哈希的内容。
        • kv 是 key 和 value 的缩写,以防万一。块参数名称往往比普通变量名称短。
        猜你喜欢
        • 2012-06-18
        • 2016-08-12
        • 2015-02-22
        • 1970-01-01
        • 2014-02-26
        • 1970-01-01
        • 2016-08-27
        • 2015-04-21
        • 1970-01-01
        相关资源
        最近更新 更多