【发布时间】:2012-01-14 19:37:41
【问题描述】:
我最近在向我的 Fortran 程序中添加函数时了解了接口块。一切都很好,很整洁,但现在我想在界面块中添加第二个功能。
这是我的界面块:
interface
function correctNeighLabel (A,i,j,k)
integer :: correctNeighLabel
integer, intent(in) :: i,j,k
integer,dimension(:,:,:),intent(inout) :: A
end function
function correctNeighArray (B,d,e,f)
character :: correctNeighArray
integer, intent(in) :: d,e,f
character, dimension(:,:,:),intent(inout) :: B
end function
end interface
在我看来,这可能不是最好的选择。
我研究过子程序,但我不太确定这是正确的解决方案。我正在做的事情相对简单,我需要将参数传递给子例程,但是我见过的所有子例程a)复杂(即对于函数来说太复杂),b)不带参数。它们的行为就好像它们在不将变量传递给它们的情况下操纵变量一样。
我并没有真正正确地研究模块,但据我所见,它不是正确的使用方法。
我应该在什么时候使用哪个,以及如何最好地使用它?
【问题讨论】:
-
在 Fortran 中是 'character' 而不是 'char'
标签: function module fortran fortran90 subroutine