我有一个返回哈希映射{ :name => "Test", :desc => "Test Description }
的方法。它将始终返回:name
和:description
。
如何使用返回的哈希分配2个变量。
我可以这样做,但它会调用该方法两次:
@name, @desc = get_name_desc_map[:name], get_name_desc_map[:desc]
我只想调用一次方法。
答案 0 :(得分:21)
使用Ruby的并行分配非常简单:
@name, @desc = get_name_desc_map.values
其他方式是(如果您不知道原始哈希中键的顺序):
@name, @desc = get_name_desc_map.values_at(:name, :desc)