假设我们对 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”方法可以做到这一点。
有谁能够帮助我?
谢谢