Sort


#1

ciao a tutti, ho un array “lista” con all’interno degli oggetti “libro”.
ogni oggetto ha varie caratteristiche tra le quali il prezzo.
io devo ordinare questo array in base al prezzo in ordine crescente.
ho pensato di usare sort ma giustamente fare lista.sort genera errori
perchè il sistema non sa come ordinarli.
devo perciò definire un <=> che mi permetta di ordinare questo array.
cosa devo scrivere all’interno di:

def <=>

al fine di ordinare questo array?

grazie a tutti!


#2

Puoi fare in 2 modi
ordinare così
lista.sort {|l1, l2| l1.prezzo <=> l2.prezzo}

oppure definire in Libro il metodo <=> così

def <=> other
prezzo <=> other.prezzo
end

e richiamare lista.sort per ordinare

ciao

2008/11/26 Njna N. removed_email_address@domain.invalid