nicolas55ar

Diferencias entre métodos eval(), y module_eval()

In metaprogramming, ruby on enero 24, 2008 at 5:11 pm

Muchos desarolladores no entienden muy bien la diferencia entre el metodo eval() y module_eval().
Bueno voy a explicarlo de forma sencilla traduciendo un mail de Matz a la lista de ruby-dev:

eval() evalúa un string sobre el contexto actual.
module_eval() evalúa un string/block sobre el conexto del modulo. Si se evalúa la sentencia ‘def’ con eval(), un método va a ser definido en módulo actual. Un método será definido para una clase o módulo mediante module_eval().

Deja un comentario

Please log in using one of these methods to post your comment:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.