Bir Olaylar Dizim var ve bunları, event_date (bir Time nesnesini döndüren) temelinde 2 boyutlu bir Dizilim halinde bölmek istiyorum. Ama günün tarihinin bir parçası olmasını istiyorum. Şimdiye kadar sahip olduğum şeyler:Güne göre sıralama yapmak için daha iyi bir yol nedir?
def divide_events_by_day(events)
# Sort, so we can start with the first day.
events = events.sort { |x,y| x.event_date <=> y.event_date }
days = []
current_date = events[0].event_date # A Time object.
# With meaningful hours and minutes.
while events.length > 0 do
# Find events for the current date.
day_events = events.select { |e|
(e.event_date.year == current_date.year) &&
(e.event_date.yday == current_date.yday)
}
# Move them to their subarray.
days << day_events
events = events - day_events
# Advance the current_date by one day.
current_date = (current_date + (60 * 60 * 24))
end
days
end
Daha basit veya daha hızlı yapmak için herhangi bir öneriniz var mı?
daha iyi bir yaklaşım , == olmalı, aynı zamanda güne göre arızalara kod eklemeniz gerekmez ... –
Tarih Saat # tarih sadece tüm tarih bölümüdür. Hmmm. Kazma içinde değil, ama benim için çalışıyor. Yüklü veya standart ama benim ölü ağaç kitabımdan daha yeni bir uzantının parçası olup olmadığını merak ediyorum ... – MarkusQ
@ sambo99 Bunları yakalamak için teşekkürler; Ben çoklu görev yapıyorum ve yan görevlerde biraz özensizim. Düzeltmeleri uyguladım ve bu vesileyle size changelog'da kredi verdim. – MarkusQ