İçeriğe geç

Koleksiyon Yüklemlerini Birleştirme (ARCH6077)

Anahtar ruby.performance.combine-collection-predicates · Önem info · Kategori performance

Ardışık select çağrıları veya boşluk kontrolü için count > 0 gibi ifadeler koleksiyonu birden çok kez gezer. Yüklemleri tek bir geçişte birleştirin.

def has_recent_admin?(users)
users.select(&:admin?)
.select(&:recent?)
.count > 0
end
def has_recent_admin?(users)
users.any? { |u| u.admin? && u.recent? }
end

Ardışık filtreleri tek yükleme birleştirin ve boşluk kontrolünde count > 0 yerine any? kullanın.