在数组中加入键的值 - Ruby

时间:2014-02-19 18:11:59

标签: ruby-on-rails ruby arrays

我是红宝石的菜鸟,并且如下所示有一系列哈希。假设我的数组是@fruits_list:

[
    {:key_1=>15, :key_2=>"Apple"}, 
    {:key_1=>16, :key_2 =>"Orange"}, 
    {:key_1=>17, :key_2 =>"Cherry"}
]

我正在寻找的是加入水果的名称。我做了@fruits_list[:key_2].join('|')

我收到的错误为"TypeError:no implicit conversion of Symbol into Integer"

请建议。

1 个答案:

答案 0 :(得分:3)

首先使用Array#collect收集水果的名称,然后使用Array#join

将其与管道|连接起来
@fruits_list = [
                  {:key_1=>15, :key_2=>"Apple"}, 
                  {:key_1=>16, :key_2 =>"Orange"}, 
                  {:key_1=>17, :key_2 =>"Cherry"}
               ]
@fruits_list.collect { |hsh| hsh[:key_2] }.join("|")
# => "Apple|Orange|Cherry"

@fruits_list是一个哈希数组。数组元素can be accessed via the integer indexes only。但是您尝试使用符号:key_2访问它,因此它引发了错误“TypeError:没有将符号隐式转换为整数”