Fortran Sintassi della funzione


Esempio

Le funzioni possono essere scritte utilizzando diversi tipi di sintassi

function name()
  integer name
  name = 42
end function
integer function name()
  name = 42
end function
function name() result(res)
  integer res
  res = 42
end function

Le funzioni restituiscono valori attraverso un risultato di funzione . A meno che l'istruzione della funzione non abbia una clausola di result , il result della funzione ha lo stesso nome della funzione. Con result il result della funzione è quello dato dal result . In ciascuno dei primi due esempi sopra il risultato della funzione è dato dal name ; nel terzo da res .

Il risultato della funzione deve essere definito durante l'esecuzione della funzione.

Le funzioni consentono di utilizzare alcuni prefissi speciali.

Funzione pura significa che questa funzione non ha effetti collaterali:

pure real function square(x)
  real, intent(in) :: x
  square = x * x
end function

La funzione elementale è definita come operatore scalare, ma può essere invocata con array come argomento effettivo, nel qual caso la funzione verrà applicata a livello di elemento. A meno che non sia specificato il prefisso impure (introdotto in Fortran 2008), una funzione elementare è anche una funzione pura .

elemental real function square(x)
  real, intent(in) :: x
  square = x * x
end function