功能語法
可以使用多種語法編寫函式
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