Hola a todos !! Soy nuevo a la lista y bastante nuevo a RoR !
Obviamente como muchos iniciantes en RoR hice las cosas al revez y empece con Active Record, RJS, Plugins y todo esos temas super copados y magicos de Rails. No me arrepiento !!! Ahora quiero internarme un cachito mas en mejorar mi Ruby. Estube picoteando de todo un poco xq a veces no logro encontrar el tiempo y la concentracion para ello de temas como Duck Typing o Syntatic Sugar, ahora queria compartir un post q encontre por ahi : http://deadprogrammersociety.blogspot.com/2007/02/ruby-blocks-closures-and-continuations.html Habla sobre closures y conts . Basicamente se entiende la idea , pero realmente lo q falta en realidad para mejor comprension de mi parte es llevarlo a la practica. Veamos el ej de closures : class GreetingGenerator def initialize(greeting) @block = lambda {|name| puts "#{greeting}, #{name}"} end def greet(name) @block.call name end end frenchGreeting = GreetingGenerator.new "Bonjour" englishGreeting = GreetingGenerator.new "Hello" southernGreeting = GreetingGenerator.new "Howdy" japaneseGreeting = GreetingGenerator.new "Ohayou" germanGreeting = GreetingGenerator.new "Guten Tag" frenchGreeting.greet "John" englishGreeting.greet "John" southernGreeting.greet "John" japaneseGreeting.greet "John" germanGreeting.greet "John" puts greeting # just checking that the `greeting` variable doesn't exist in the main scope In this case, each block carries a little information with it ("greeting"). Listo me da la idea de que Closures podria ser usado en la practica como un estilo del patron abstract factory donde en cierta manera le indicamos a la funcion q haga un cierre (closure) sobre el tipo de fabrica que queremos (en nuestro ejemplo seria el lenguaje) y bueno dsp le pasamos a nuestro bloque/funcion los argumentos para lo que queremos q nos fabrique. Esto estaria bueno en realidad simplificaria nuestro codigo en cierta manera y resolveriamos algo procedurlmente para lo q antes necesitabamos una clase dada , con la responsabilidad de factory etc etc... Espero sus opiniones y comentarios tambien sobre por ejemplo continuations. Saludos Federico
_______________________________________________ ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
