La sintassi per la mappatura:
a = ["a", "b", "c", "d"] #=> ["a", "b", "c", "d"]
a.map {|item|"a" == item} #=> [true, false, false, false]
a.select {|item|"a" == item} #=> ["a"]
Domanda che ne dici se ho:
irb(main):105:0> details[1]
=> {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", :qty=>"",
:qty2=>"1", :price=>"5,204.34 P"}
Voglio eliminare ogni voce che ha un valore qty vuoto su questo array o selezionare solo quelli con un valore in esso.
Provai:
details.map {|item|"" == item}
Restituisce solo un sacco di false e poi quando uso lo stesso cambia mappa per selezionare ottengo:
[]
:qty
non appare nemmeno lì.