1
이런 종류의 항목을 정렬하는 더 좋은 방법이 있습니까?Ruby : 다음 "정렬"방법을 쓸 수있는 더 좋은 방법이 있습니까?
items.sort! do |p1, p2|
if (p1.foo == p2.foo)
if (p1.bar == p2.bar)
if (p1.moo == p2.moo)
p1.wow <=> p2.wow # Ascending order
else
p2.sam.moo <=> p1.sam.moo # Descending order, 2 levels attribute
end
else
p2.bar <=> p1.bar # Descending order
end
else
p1.foo <=> p2.foo # Ascending order
end
end
정말 좋습니다! 고마워요! –
약간 더 적은 중복을 위해'items.sort_by! {| p | [p.foo, p.bar, p.moo, p.sam.moo]}'모두 오름차순입니다. –
@Ben Alpert : 만약 그들이 아니지만 숫자라면, 당신은'sort_by! {| p | [p.foo, -p.bar, -p.moo]}' –