我是红宝石的菜鸟,并且如下所示有一系列哈希。假设我的数组是@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"
请建议。
答案 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:没有将符号隐式转换为整数”。