[Ror-es] HASH SELECT de los indices en un ARRAY

Juan Gallego juan.gallego.iv at gmail.com
Wed Jun 3 11:09:17 GMT 2009


Básicamente por la forma en la que trabaja el método inject. El valor conel
que va trabajando es el resultado de la iteración anterior. El primero esta
inicializado con inject(*{}*).

Fíjate que pasa si haces hash[:uno] = 1 en irb; te devuelve 1, verdad?
Dentro
del inject, en la siguiente iteración, usarías ese 1 como hash y obtendrás
un
fantástico error :-)

Devolviendo explícitamente el hash subsanamos el problema :-)

Te lo he aclarado algo?

Un saludo,
Juan.


2009/6/3 Rafa Colom <ruby-forum-incoming at andreas-s.net>

> Juan Gallego galisteo wrote:
> > Te doy una alternativa, a ver que te parece..
> >
> > fields.inject({}){|hash, field| hash[field.to_sym] = data[field.to_sym];
> > hash}
> >
> > Espero haber entendido el problema :-)
> >
> > Suerte,
> > Juan.
> >
> >
> > 2009/6/3 Rafa Colom <ruby-forum-incoming at andreas-s.net>
>
> Me has entendido perfectamente. Pero me gustaria hacerte otra pegunta.
> Por que
> si ejecuto el codigo anterior sin ';hash' en el irb da un error? No
> deberia de retornar 'hash' que es la nueva variable definida en inject?
>
> fields.inject({}){|hash, field| hash[field.to_sym] = data[field.to_sym]}
>
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20090603/1ba2b969/attachment.htm 


More information about the Ror-es mailing list