¿Qué significa cuando un argumento de una función se llama argumento ficticio ? No he encontrado este término fuera de Fortran, ¿es un término general en informática? ¿Cuáles serían ejemplos de argumentos pasados como ficticios y no pasados como ficticios?
Encontré esta definición , que no estoy seguro de entender, pero parece que un argumento ficticio es una variable que se pasa por referencia, en cuyo caso en Fortran todas las variables son variables ficticias. (confuso)
Editar: Acabo de encontrarme con el siguiente ensayo que me ayudó a comprender mejor el argumento / función de Fortran llamando a la teminología: Dortor Fortran: He venido aquí para discutir
Respuestas:
"Dummy" como "no utilizado"
En general (no en Fortran) un argumento ficticio es un argumento que no será utilizado por el cuerpo de la función.
Por ejemplo, en la siguiente función,
z
es un argumento ficticio, perox
yy
no lo son.Se pueden usar por varias razones:
dependiendo de otro argumento o alguna configuración, el argumento se usará (no ficticio) y, a veces, no (ficticio), pero la configuración de programación impone pasar un argumento de todos modos. En ese caso, generalmente puede pasar cualquier cosa a la función, es decir ,
NULL
o0
, según la configuración;el argumento ya no es necesario, pero debe dar uno por razones de compatibilidad con versiones anteriores;
la función no toma ningún argumento (puede llamarse un procedimiento) pero la configuración impone dar al menos un argumento. Puede encontrar esto en lenguajes de programación funcionales impuros, pero en general no se llama "ficticio" porque el tipo (
unit
en ocaml ) lo sugiere."Dummy" en Fortran y Pascal
En Fortran y Pascal, y probablemente en su caso, hay una noción más oscura de argumento ficticio de objeto pasado que no he podido comprender. Pero parece referirse más a la especificación que al procedimiento real de pasar argumentos. (Algunas explicaciones: enlace 1 con ambos idiomas , enlace 2 en francés ).
No sé si esta noción todavía se usa.
"Dummy" como "atado"
En cualquier caso, no recomendaría esta terminología, pero "variable ficticia" puede significar "variable ligada", pero esta noción es más una cuestión de matemática e informática.
fuente
En fortran, un argumento ficticio es lo que otros idiomas llaman un argumento formal . Entonces, los argumentos ficticios son la lista de argumentos en la definición de la función (o subrutina).
Los argumentos reales son la lista de argumentos en la lista de llamadas, en el punto del código fuente donde se llama a una función (es decir, se usa).
fuente
Una función está bien definida como: relación entre un conjunto de entradas y un conjunto de salidas permitidas . Una variable ficticia sería cualquier entrada que no tuviera efecto en la salida.
En "C", la función de tiempo toma un puntero a un objeto time_t como entrada. Como este puntero solo se utiliza para obtener resultados, podría considerarse una "variable ficticia".
fuente
Un argumento ficticio es en realidad un argumento en una función que no se ha utilizado en la función, sino que se sustituye en la expresión de la función cuando se hace referencia a ella.
fuente