【问题标题】:assigning multiple variable in one line with the hash returning from the method in ruby在一行中分配多个变量,哈希值从 ruby​​ 中的方法返回
【发布时间】:2014-05-17 10:49:47
【问题描述】:

我有一个返回哈希映射{ :name => "Test", :desc => "Test Description } 的方法。它将始终返回 :name:description

如何在返回的哈希中分配 2 个变量。

我可以这样做,但它会调用该方法两次:

@name, @desc = get_name_desc_map[:name], get_name_desc_map[:desc] 

我只想调用一次方法。

【问题讨论】:

    标签: ruby-on-rails ruby hash


    【解决方案1】:

    使用 Ruby 的并行赋值非常简单

    @name, @desc = get_name_desc_map.values
    

    另一种方法是(如果您不知道原始哈希中键的顺序):

    @name, @desc = get_name_desc_map.values_at(:name, :desc)
    

    Hash#values_atHash#values

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多