В вашем классе Match предполагается, что внутренними атрибутами являются red
и blue
class Match
#...
def ==(anOther)
red == anOther.blue and anOther.red == blue
end
#...
end
и цикл:
teams.each do |red_team|
teams.each do |blue_team|
if red_team != blue_team
new_match = Match.new(red_team, blue_team)
planned_matches << new_match if !planned_matches.include?(new_match)
end
end
end
Объяснение:
Функция include?
в Array
использует методы ==
, поэтому вам просто нужно переопределить ее и придать ей то поведение, которое вы хотите для своих соответствий.