Data:Rails: Trovare massimo di array che può contenere zero
shipping_costs = {
key1: 45,
key2: 99,
key3: nil,
key4: 24
}
Qual è il modo più pulito per ottenere il massimo di quelle chiavi assumendo nil = 0?
Se corro una scala shipping_costs.values.max
nella console Rails ottengo questo:
ArgumentError: comparison of Fixnum with nil failed
modo più pulito per trasformare quelle Nils in zeri prima di eseguire max?
Più tecnicamente corretto e specifico per la domanda, in modo da ottenere la risposta. Probabilmente farò la soluzione di Tom però. :) –
Qui c'è una potenziale fonte di bug, che restituisce un massimo di zero per l'array [nil, -2, -4, -1], quando presumibilmente vuoi -1. Per questo motivo preferirei la soluzione di @toniedzwiedz. – isthmuses
La domanda ha specificato che i valori di 'nil' dovrebbero essere considerati' = 0'. – Shadwell