Можете ли вы отсортировать и выбросить все результаты `nil` в спину? - PullRequest
0 голосов
/ 28 сентября 2011

Я бы хотел начать сортировку всех результатов по новому полю.К сожалению, многие мои старые поля имеют nil для отметки времени.Как я могу выполнить этот метод и положить все nils в спину?

.sort{|a,b| b.offering_referral_timestamp <=> a.offering_referral_timestamp}

Спасибо

1 Ответ

3 голосов
/ 28 сентября 2011
a <=> b 
returns -1 if a < b
returns 0 if a == b
returns 1 if a > b

так что я думаю, что это должно работать (если вы хотите, чтобы все ноль в конце, они должны быть больше, чем другие элементы):

.sort{|a,b| a.offering_referral_timestamp.nil? ? 1 : (b.offering_referral_timestamp.nil? ? -1 : a.offering_referral_timestamp <=> b.offering_referral_timestamp)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...