2010/5/12 Pablo Herrero <[email protected]>: > El día 12 de mayo de 2010 19:32, Chad DePue <[email protected]> escribió: >> he tenido problemas con named_scopes con lambdas porque el syntax es >> diferente, y hasta ahora tengo que apoyar los dos: >> if RUBY_VERSION.to_f >= 1.9 >> # NOTE: must be eval because the following line fails to parse in 1.8.X >> eval "named_scope :foo, ->(lim = DEFAULT_LIMIT){ { :limit => lim }}" >> else >> named_scope :foo, lambda{ |lim| { :limit => lim || DEFAULT_LIMIT }} >> end > > > Que extraño, que ocurre con la 2da versión cuando usas 1.9?
Hasta donde se, el termino lambda fue removido de ruby 1.9 "->" es el nuevo metodo de hacer lambdas. Rails 2.3 ya es thread-safe y esta completamente soportado en 1.9. La mejora de performance es notable. Hay que tener cuidado con algunas gemas o plugins que pueden tener código no reentrante. Particularmente hay que tener cuidado con el uso de variables globales sin mutexes y con el hecho de que en 1.9 los bloques tienen su propio scope de variables. Recomiendo este sitio para saber cuales gemas son compatibles: http://isitruby19.com/ Saludos, Sebastian. _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
