کلاسها

کد زیر یک کلاس بنام Person را تعریف می‌کند.

class Person
  def initialize(name, age)
    @name, @age = name, age
  end

  def <=>(person)
    @age <=> person.age
  end

  def to_s
    "#{@name} (#{@age})"
  end

  attr_reader :name, :age
end

group = [ Person.new("John", 20), 
          Person.new("Markus", 63), 
          Person.new("Ash", 16) 
        ]

puts group.sort.reverse

کد بالا سه نام را بر حسب سن از زیاد به کم چاپ می‌کند:

Markus (63)
John (20)
Ash (16)