Gracias Maximiliano!!!, una explicación al grano y fácil de entender, lo que 
mas me gusta.
Atte.
Néstor


From: Maximiliano Guzman 
Sent: Tuesday, April 13, 2010 3:12 PM
To: Grupo Ruby Argentina 
Subject: Re: [RubyArg] Realizar un .detect y un .sum al mismo tiempo




  perdón, eso no va a andar, me olvidé del map


  @clientes_movimientos_debitos.select { |cli_debito|

              cli_debito.solicitud.id == cliente_mov.solicitud.id

            }.map(&:cant_cuotas).sum





para aclarar un poco porqué se necesita ese map ahí... select te devuelve un 
array. Y lo que necesitas es #cant_cuotas de cada elemento del array. #map o 
#collect lo que hace es recorrer un array u otra colección y devolver otro 
array. La versión larga de ese map sería:


.map {|cli_debito| cli_debito.cant_cuotas }.sum


o sea, te devuelve otro array que es el resultado de aplicar alguna operación a 
cada elemento del array (u otra colección) original.


lo de .map(&:cant_cuotas), es una version abreviada que podés usar cuando lo 
único que le vas a hacer a cada elemento es llamar un método. Entonces le 
mandás .map(&:<nombre_del_metodo>).


saludos, Maximiliano










--------------------------------------------------------------------------------


_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a