【发布时间】:2012-12-05 19:23:52
【问题描述】:
假设我们对 SomeClass 进行分类。
class SomeClass < SomeClassThatAssignAttributesOnInitialization
attr_accessor :group
attr_accessor :name
end
以及它的实例数组
arr = [SomeClass.new(group:0, name:'one'),
SomeClass.new(group:0, name:'two'),
SomeClass.new(group:1, name:'three'),
SomeClass.new(group:1, name:'four')]
我需要将每个组的第一个元素放入数组中。
现在下一个方法可以使用
current_group = nil
first_elements = arr.map do |instance|
if current_group != instance.group
current_group = instance.group
instance.name
end
end
这很好用,但我认为有某种“Ruby”方法可以做到这一点。
谁能帮帮我?
谢谢
【问题讨论】:
-
这些天应该在codereview.stackexchange.com 上提出“某种‘Ruby’方式”的问题。