¿Cuál es el propósito de las variables de resultado en Fortran?
En Fortran, hay dos formas estándar de devolver un resultado de una función. El primero es asignando el valor de retorno de la función al nombre de la función.
function foo()
integer :: foo
foo = 10
end function foo
La segunda forma, estandarizada en Fortran 90 es a través de una variable de "resultado".
function foo result(res)
integer :: res
res = 10
end function foo
Llamar a cualquiera de las formas de la función devuelve el valor 10. Mi pregunta es, ¿cuál fue el fundamento del comité Fortran 90 para introducir variables de resultados? ¿Estaban estandarizando una práctica común? ¿O permitían que los programas fueran más modulares al no vincular el nombre de la función con el resultado de una función? Por ejemplo, en la segunda versión defoo()
, El nombre de la funciónfoo()
podría cambiarse abar()
y la función aún funcionaría como se esperaba cuando se llama.
Sin embargo, puedo estar equivocado. ¿Alguien sabe cuál era la razón real para introducir variables de resultado?