Bueno, en ruby cuando se ejecuta un método no definido se llama al
método "method_missing". Y como hacer

a.b = c es llamar al método "b=", si no definiste ejecuta method_missing.

La documentación de esto está en
http://www.ruby-doc.org/core/classes/Kernel.html#M005929

Bueno, me voy a dormir,
Aureliano.

On 9/12/07, Porta <[EMAIL PROTECTED]> wrote:
> Aureliano.
> gracias por tu pronta respuesta.
> lamentablemente, el autoload de perl del que hablo nada tiene que ver con el
> de ruby
> veamos si puedo ampliar un poco la question.
>
> (mi léxico sobre el tema es *cero*. no soy un teórico. sepan disculpar.)
>
> supongamos que creo una "clase" con perl. (yo lo llamo paquete o módulo).
> supongamos mi clase "Usuario".
> adentro de mi clase Usuario, yo defino diferentes funciones para *escribir*
> y *leer* los atributos de esa clase (creo que se llaman comunmente setters y
> getters)
> de modo que con mi objeto Usuario, yo puedo hacer:
> $usuario->Nombre('Jorge');
> (acabo de darle el nombre Jorge a mi $usuario)
> o decir que
> $nombre = $usuario->Nombre;
> (digo que mi variable $nombre es igual al Nombre de mi $usuario)
>
> hasta acá, todo bien. la lógica sería tener 2 funciones adentro de mi clase
> usuario. una para asignar el nombre y otra para leerlo. o una sola, que si
> recibe un parametro lo setea como nombre, y si no recibe parámetro devuelve
> el nombre que haya.
> ahora, si yo en mi clase usuario no definí ninguna función que se llame
> Apellido
> (si intento hacer)
> $usuario->Apellido('Gomez');
> ahi se rompe todo. porque Apellido no existe en ningun lado.
>
>  Bueno. En perl, la función AUTOLOAD se ejecuta cada vez que uno accede a
> alguna propiedad de esa clase. O sea, que adentro del AUTOLOAD yo puedo
> *atajar* llamados a funciones que no existen y, por ejemplo, devolver un
> error un poco más amable. O sino (lo que a mi me interesa hacer
> puntualmente). poder crear "en el aire" ese atributo en mi clase y setearlo
> o leerlo según  reciba o no parámetros.
>
> Más claro ahora? espero que sí. sino, me busco alguna definición más prolija
> del autoload en perl.
>
> graaaaaacias.
>
> ____________________________________________
> From: "Aureliano Calvo" < [EMAIL PROTECTED]>
> To: "Grupo Ruby Argentina" <[email protected]>
> Date: Wed, 12 Sep 2007 00:14:39 -0300
> Subject: Re: [RubyArg] Buenas, y primera consulta.
>
> No sé cómo funciona el autoload de Perl, pero en ruby hay algo con ese
> nombre.
>
> autoload(:MyModule, "/usr/local/lib/modules/my_module.rb")
>
>  hacé que cuando uses MyModule por primera vez ejecute
> "/usr/local/lib/modules/my_module.rb"
>
>
> ________________________________________________
> From: Porta < [EMAIL PROTECTED]>
>  To: [email protected]
>  Date: Wed, 12 Sep 2007 00:02:23 -0300
>  Subject: [RubyArg] Buenas, y primera consulta.
>
>  Buenas a todos.
>  Me interesa aprender un poco de ruby, y ya al primer paso encuentro un
> problema que no sé como resolver.
>  A ver si alguien puede iluminarme.
>
>  Sabrá alguien decirme si en ruby existe un equivalente del AUTOLOAD de
> perl? no soy un teórico, así que me cuesta encontrar las palabras para
> explicar *correctamente* lo que necesito... si alguien sabe como funciona el
> autoload en perl me vá a entender. sino, me dicen y busco alguna forma clara
> de explicarlo...
>  Lamento que mi primer mail sea tan difuso y poco claro. Espero mejorarlos
> con el tiempo.
>
>  Gracias a todos.
>
>  Porta.
>
>
>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a