功能語法

可以使用多種語法編寫函式

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

函式通過函式結果返回值。除非函式語句具有 result 子句,否則函式的結果與函式的名稱相同。使用 result,函式結果是由 result 給出的。在上面的前兩個例子的每一箇中,函式結果由 name 給出; 在第三個由 res

必須在執行函式期間定義函式結果。

函式允許使用一些特殊的字首。

函式意味著此函式沒有副作用:

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

元素函式被定義為標量運算子,但它可以使用陣列作為實際引數呼叫,在這種情況下,函式將按元素方式應用。除非指定了 impure 字首(在 Fortran 2008 中引入),否則元素函式也是函式。

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