У меня есть массив классов, и я хочу найти, где может быть наложение расписания.
Мой массив выглядит примерно так
[
{
id:2,
start: "3:30",
length: 40,
break: 30,
num_attendees: 14
},
{
id: 3,
start: "3: 40",
length: 60,
break: 40,
num_attendees: 4
},
{
id: 4,
start: "4: 40",
length: 30,
break: 10,
num_attendees: 40
}
]
довольно просто.Теперь я хочу получить массив, в который я добавляю начало и длину, а затем получить перекрывающиеся классы, чтобы уведомить пользователя о наличии конфликта.
Я знаю, что могу сделать большое для цикла и сравнить таким образом, но я думаю, что должен быть более хороший способ сделать это в Ruby, что-то вроде:здесь, у меня есть это, я просто хочу сохранить пример простым).
overlap = class_list.select{|a,b| if a.start+a.length>b.start return a,b end}
есть предложения?