Ruby - 通过对象字段加入对象数组

时间:2013-01-27 01:27:59

标签: ruby

我有一个对象数组,如下所示:

[
    #<name: "value1", field: "field_A">,
    #<name: "value2", field: "field_B">,
    #<name: "value3", field: "field_C">
]

我想要输出:

"value1 value2 value3"

我目前在做什么:

variable = ''
array.each { |x| variable << x.name << ' ' }

这很丑陋,最后也留下了额外的空间。我的东西Array :: join是我要去的地方,但我找不到从它访问对象字段的方法。是否有另一种类似于我应该使用的连接方法,还是有另一种更合理的方法?

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:12)

array.map(&:name).join(" ")

答案 1 :(得分:2)

要加入Array,您应该使用join方法。它需要一个可选的分隔符(默认值为$,,默认情况下为nil)。

array.collect(&:name).join ' '

&:method语法只是{ |x| x.method }的缩写。