RosettaCodeData/Task/Sort-an-array-of-composite-.../Ruby/sort-an-array-of-composite-...

12 lines
272 B
Ruby

Person = Struct.new(:name,:value) do
def to_s; "name:#{name}, value:#{value}" end
end
list = [Person.new("Joe",3),
Person.new("Bill",4),
Person.new("Alice",20),
Person.new("Harry",3)]
puts list.sort_by{|x|x.name}
puts
puts list.sort_by(&:value)