Ruby on rails 在array-Ruby中连接键的值
我是ruby中的noob,拥有如下所示的哈希数组。假设我的数组是@fruits\u list:Ruby on rails 在array-Ruby中连接键的值,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,我是ruby中的noob,拥有如下所示的哈希数组。假设我的数组是@fruits\u list: [ {:key_1=>15, :key_2=>"Apple"}, {:key_1=>16, :key_2 =>"Orange"}, {:key_1=>17, :key_2 =>"Cherry"} ] 我要找的是加入水果的名字。我做了@fruits_list[:key_2]。加入(“|”) 我得到的错误是“TypeError:没有将符号隐
[
{:key_1=>15, :key_2=>"Apple"},
{:key_1=>16, :key_2 =>"Orange"},
{:key_1=>17, :key_2 =>"Cherry"}
]
我要找的是加入水果的名字。我做了@fruits_list[:key_2]。加入(“|”)
我得到的错误是“TypeError:没有将符号隐式转换为整数”
请建议。首先使用收集水果的名称,然后使用管道将它们连接起来
@fruits\u list
是一个散列数组。数组的元素。但是您试图使用符号:key_2
访问它,因此它引发了一个错误,即“TypeError:没有将符号隐式转换为整数”。首先使用收集水果的名称,然后使用管道将它们连接起来
@fruits\u list
是一个散列数组。数组的元素。但是您试图使用符号:key_2
访问它,因此它引发了一个错误,即“TypeError:没有将符号隐式转换为整数”。首先使用收集水果的名称,然后使用管道将它们连接起来
@fruits\u list
是一个散列数组。数组的元素。但是您试图使用符号:key_2
访问它,因此它引发了一个错误,即“TypeError:没有将符号隐式转换为整数”。首先使用收集水果的名称,然后使用管道将它们连接起来
@fruits\u list
是一个散列数组。数组的元素。但是您试图使用符号:key_2
访问它,因此它引发了一个错误,即“TypeError:没有将符号隐式转换为整数”。谢谢您的帮助。看到这个错误,我理解了问题所在,但无法解决问题。我尝试的另一种方法是将每个对象从数组中取出,然后对其执行联接,这同样是不正确的,因为我尝试联接一个对象的:key_2的值,但另一个对象尚未准备好。无论如何,这帮了大忙!!谢谢我对这方面的要求有所改变。我现在正在检查该值是否为nil,那么我就不会将其包括在列表或collect中。例如:在你回答的例子中,说{:key_1=>17,:key_2=>“”;那我就不会把这个列入我的名单了。我的最终列表应该是{“苹果”|“橙色”},而不是{“苹果”|“橙色”|”“}。我尝试了这个@fruits_list.collect{hsh | hsh[:key_2],除非hsh[:key_2].nil?}.join(“|”),但它仍然返回nil值。我做错什么了?哦,好吧。我会的。由于它与此相关,我在这里添加了它。我在这里创建了它-感谢您的帮助。看到这个错误,我理解了问题所在,但无法解决问题。我尝试的另一种方法是将每个对象从数组中取出,然后对其执行联接,这同样是不正确的,因为我尝试联接一个对象的:key_2的值,但另一个对象尚未准备好。无论如何,这帮了大忙!!谢谢我对这方面的要求有所改变。我现在正在检查该值是否为nil,那么我就不会将其包括在列表或collect中。例如:在你回答的例子中,说{:key_1=>17,:key_2=>“”;那我就不会把这个列入我的名单了。我的最终列表应该是{“苹果”|“橙色”},而不是{“苹果”|“橙色”|”“}。我尝试了这个@fruits_list.collect{hsh | hsh[:key_2],除非hsh[:key_2].nil?}.join(“|”),但它仍然返回nil值。我做错什么了?哦,好吧。我会的。由于它与此相关,我在这里添加了它。我在这里创建了它-感谢您的帮助。看到这个错误,我理解了问题所在,但无法解决问题。我尝试的另一种方法是将每个对象从数组中取出,然后对其执行联接,这同样是不正确的,因为我尝试联接一个对象的:key_2的值,但另一个对象尚未准备好。无论如何,这帮了大忙!!谢谢我对这方面的要求有所改变。我现在正在检查该值是否为nil,那么我就不会将其包括在列表或collect中。例如:在你回答的例子中,说{:key_1=>17,:key_2=>“”;那我就不会把这个列入我的名单了。我的最终列表应该是{“苹果”|“橙色”},而不是{“苹果”|“橙色”|”“}。我尝试了这个@fruits_list.collect{hsh | hsh[:key_2],除非hsh[:key_2].nil?}.join(“|”),但它仍然返回nil值。我做错什么了?哦,好吧。我会的。由于它与此相关,我在这里添加了它。我在这里创建了它-感谢您的帮助。看到这个错误,我理解了问题所在,但无法解决问题。我尝试的另一种方法是将每个对象从数组中取出,然后对其执行联接,这同样是不正确的,因为我尝试联接一个对象的:key_2的值,但另一个对象尚未准备好。无论如何,这帮了大忙!!谢谢我对这方面的要求有所改变。我现在正在检查该值是否为nil,那么我就不会将其包括在列表或collect中。例如:在你回答的例子中,说{:key_1=>17,:key_2=>“”;那我就不会把这个列入我的名单了。我的最终列表应该是{“苹果”|“橙色”},而不是{“苹果”|“橙色”|”“}。我尝试了这个@fruits_list.collect{hsh | hsh[:key_2],除非hsh[:key_2].nil?}.join(“|”),但它仍然返回nil值。我做错什么了?哦,好吧。我会的。因为它与此相关,所以我在这里添加了它。我在这里创建了它-
@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"