mam szereg obiektówsortowania tablicy na podstawie atrybutu, który może być zero w niektórych elementów
[<#a star=1 val=1>, <#a star=nil val=3> , <#a star=2 val=2>]
trzeba tablicy się według czasu, a następnie przez val
[ <#a star=2 val=2>, <#a star=1 val=1>, <#a star=nil val=3> ]
ale użycie sort_by powoduje błąd, ponieważ czas jest zerowy.
Używam brzydki sposób uporządkować teraz, ale jestem pewien, że jest to dobry sposób, aby przejść o to
starred=[]
@answers.each {|a| (starred << a) if a.starred }
@[email protected]
starred=starred.sort_by {|a| a.starred }.reverse
@[email protected]
Dzięki @ amin-Ariana, rozwiązanie pracował dla mnie i myślę, że jest bardziej czytelny. – monteirobrena
To nie jest zgodne z początkowym kodem OP dla wartości ujemnych, takich jak "-5" – Nakilon