Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在array-Ruby中连接键的值_Ruby On Rails_Ruby_Arrays - Fatal编程技术网

Ruby on rails 在array-Ruby中连接键的值

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:没有将符号隐

我是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:没有将符号隐式转换为整数”

请建议。

首先使用收集水果的名称,然后使用管道将它们连接起来

@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"