mar*_*ion 0 ruby ruby-on-rails ruby-on-rails-4
假设我有一个集合fruits,每个fruit对象都有一个名为的属性color.我想循环遍历我的整个fruits集合,让它以1个单独的数组返回color,每个父节点在数组中是1个元素.
理想情况下,输出看起来像这样:['red', 'blue', 'green', 'yellow'].它不必是字符串,它可以是整数或任何数组中的元素.重要的是每个对象的每个属性都包含在数组的1个单元格中,而我只得到1个数组.
我试过这样的事情:
fruits.map { |fruit| return [fruit.color] }
Run Code Online (Sandbox Code Playgroud)
但是这会返回多个数组 - 这不是我想要的.
想法?
这样做:
fruits.map(&:color)
Run Code Online (Sandbox Code Playgroud)
它相当于:
fruits.map { |fruit| fruit.color }
Run Code Online (Sandbox Code Playgroud)
并返回从块返回的数组中每个元素的值fruits数组.
您的解决方案不起作用,因为您返回的数组包含一个元素(颜色)而不是颜色,所以最后您得到了一个数组数组:
[['green'], ['blue']] # etc.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37 次 |
| 最近记录: |