Ciertamente una de las cosas que más me gusta de Ruby! Creo que ya no
uso for en mi código, y lo lindo que es!

On 8/31/07, Emmanuel Oga <[EMAIL PROTECTED]> wrote:
> Martin:
>
> Ademas del help de internet, podes pedirle ayuda a ruby con el comando "ri"
>
> ri Hash
>
> si queres ver mas info de un metodo, pones
>
> ri Clase.metodo o ri Clase#metodo
>
> ri Hash.each
>
> Los contenedores de ruby tienen la particularidad de iterarse de forma muy
> elegante, presta atencion a los metodos "each.." del contenedor que te
> interese.
>
> Hash tiene varios de estos metodos
>
> Ejemplo
> unhash= { :a => 1, :b => 2, :c => 3}
> unhash.each do |key, value|
>   puts "La clave #{key} contiene el valor #{value}
> end
>
> Un aspecto a tener en cuenta al hablar de contenedores en ruby tiene que ver
> con los mixins...
>
> Pensa en metodos que "flotan" en un namespace --modulo en ruby--, que podes
> incluir en cualquier clase que quieras --o incluso dentro de otro modulo.
> Aaarrhg! es dificil tratar de explicarlo en unas pocas lineas....
>
> El tema es que los contenedores solo necesitan definir un metodo "each" que
> devuelva todos los elementos sucesivos que posee y un metodo "<=>" que
> permita compararlos para ganar toda la funcionalidad del modulo Enumerable
> (hace ri Enumerable).
>
> En definitiva, una vez que entendes Enumerable te sirve para Hash, Array,, o
> hasta tus propias clases, si lo incluis de esta forma
>
> class MiLindoContenedor
>   include Enumerable
>
>   def each
>     yield valor
>   end
>
>   def <=> otro
>     self.valor.blablabla <=> otro.blablabla
>   end
>
> ...
> end
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a