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

Responder a