이전에 답변이되었거나 분명한 경우 사과드립니다. 여기에서 Goog에서 검색하고 답변을 찾지 못했습니다.Ruby에서 부울 값으로 객체 정렬
나는 공급자의 배열을 가격별로 정렬하고 선호하는 공급자인지 여부를 찾고 있습니까? (true 또는 false)
array p of Providers
의 예를 들어
...
는 는p1.price == 1, p1.preferred_provider? == false
p2.price == 2, p2.preferred_provider? == true
p2.price == 3, p3.preferred_provider? == true
는 내가 p.sort_by과 좀하고 싶습니다
:
p.sort_by {|x| x.preferred_provider?, x.price }
을
[p2 p3 p1]
의거하지 않습니다 일하고 도착하면 ...
undefined method `<=>' for false:FalseClass
이 문제에 접근하는 더 좋은 방법에 대한 제안 사항이 있으십니까?
실제로, 당신은 거의 그것을 가지고 있습니다 : p.sort_by {| x | [x.preferred_provider? ? 0 : 1, x.price]}. –
아 ... 좋은. 리팩토링 후보. 감사. –