Ordenar uma lista de objetos usando seus atributos no Ruby
Tenho uma lista deFruit
estruturas chamadasbasket
. CadaFruit
struct tem umname
(uma string) e umcalories
(um número inteiro). Eu gostaria de classificarbasket
de modo a
OFruit
s com os mais altoscalories
aparece primeiro. Por exemplo, uma fruta com 500 calorias aparece antes de uma fruta com 400 calorias.
Se doisFruit
s são iguaiscalories
, aFruit
de quemname
vem primeiro por ordem alfabética, ignorando o caso. Por exemplo, dadas duas frutas com calorias iguais, uma chamada "banana" virá antes de uma chamada "Citrus".
A definição deFruit
não é algo que eu controle, então prefiro uma solução que não envolva misturar nada emFruit
ou alterá-lo. Isso é possível