首先,想到是重写<=>方法
也可以直接重排
或者
然而,如果attribute本身没有比较的方法,就要再重定义
class Foo
include Comparable
def <=>(other)
# custom order logic
end
end
也可以直接重排
myarray.sort! { |a, b| a.attribute <=> b.attribute }
或者
objects.sort_by {|obj| obj.attribute}
然而,如果attribute本身没有比较的方法,就要再重定义