Instantly share code, notes, and snippets.

Embed
What would you like to do?
class Person
include Comparable
attr_reader :name , :age
def initialize(name,age)
@name = name
@age = age
end
def <=>(other)
cmp = @age <=> other.age
if cmp != 0
return cmp
else
return @name <=> other.name
end
end
end
class Group
include Enumerable
def initialize
@persons = []
end
def add(person)
@persons << person
self
end
def each
@persons.each do |person|
yield person
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment