Article View: es.comp.os.linux.programacion
Article #1725Re: Como puedo hacer lo siguiente en pascal?
From: Zephryn Xirdal
Date: Mon, 18 Jul 2005 09:24
Date: Mon, 18 Jul 2005 09:24
52 lines
3165 bytes
3165 bytes
En Mon, 18 Jul 2005 09:59:53 +0200, Pedro Maicas <esta_no_es@jet.es> escribi�: > On Sun, 17 Jul 2005 11:15:09 +0200, "Zephryn Xirdal" > <zephryn_xirdal@qutame.telefonica.net> wrote: > >> Exisit�a al menos un lenguaje que permit�a eso: clipper y sus bloques de >> c�digo, que se pasaban como cadenas y luego se conver�an en tiempo de >> ejecuci�n en P-CODE y era ejecutado. > > Si, cuando un programador de visual basic "necesita" > hacer eso (por lo visto hay quien no puede vivir sin ello), > es seguro que se trata de un ex-cliper :-) > > En C eso se soluciona pasando un puntero a la funcion, > es decir la funcion no devolver� un nombre, sino un puntero. > En C++ las funciones virtuales evitan ese "problema". > En otros lenguajes, no queda m�s remedio que usar > un switch aunque sea monstruoso de grande. > > Pero, en mi opini�n, en cualquier lenguaje compilado se > pierden los nombres de las funciones en el proceso de > compilaci�n, y por eso no se puede invocar una funcion > por su nombre. Y, tambien en mi opini�n, si esa forma > de trabajar fuera tan "imprescindible" como algunos creen, > todos los lenguajes permitir�an hacerlo aunque fuera a costa > de tener que incluir en el ejecutable el nombre de todas > las funciones. Sip. El �nico motivo que veo para hacer algo de eso es en la construcci�n de un int�rprete (de comandos o de script o de lo que sea), pero en ese caso es infinitamente m�s f�cil (y r�pido) sustituyendo el nombre de la funci�n por el �ndice al array que contiene los punteros a los comandos durante la primera pasada por el c�digo. > > Saludos :-) -Pedro- > > http://www.maicas.net/ > > e-mail en www.maicas.net -- Si somos arrastrados a Cristo, creemos sin querer; se usa entonces la violencia, no la libertad. -- San Agust�n. (354-439) Obispo, fil�sofo y Padre de la Iglesia Latina. ================================================================================== Powered by zxFortunes - It's free - http://sourceforge.net/projects/zxfortune
Technical Details
Message-ID:
<op.st3q28h8fc9mjw@red-mars.local.lan>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mailReferences:
<ykhCe.56911$US.45029@news.ono.com> <4h2kd1hgr6j9chb1cep65bnqfsg45l36ja@4ax.com> <113kd1dm0vdrnea2lc4bos0s8u1bef8dok@4ax.com> <op.st1vzjx2fc9mjw@red-mars.local.lan> <7vnmd1tjef3e4k1008oahmq17fd0gkghe2@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,2957caf3c3f0777a X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII From: "Zephryn Xirdal" <zephryn_xirdal@qutame.telefonica.net> Newsgroups: es.comp.os.linux.programacion Subject: Re: Como puedo hacer lo siguiente en pascal? Date: Mon, 18 Jul 2005 11:24:34 +0200 Organization: The Zephryn Xirdal Company Lines: 52 Message-ID: <op.st3q28h8fc9mjw@red-mars.local.lan> References: <ykhCe.56911$US.45029@news.ono.com> <4h2kd1hgr6j9chb1cep65bnqfsg45l36ja@4ax.com> <113kd1dm0vdrnea2lc4bos0s8u1bef8dok@4ax.com> <op.st1vzjx2fc9mjw@red-mars.local.lan> <7vnmd1tjef3e4k1008oahmq17fd0gkghe2@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: individual.net b9rT7dbD+VJH7nPRUouYRA77LVQfR5111MdPwVqVdQnRQo31ha User-Agent: Opera M2(BETA1)/8.02 (Win32, build 7668) Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail