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

Responder a