【发布时间】:2016-09-30 19:29:20
【问题描述】:
我已经用 Fortran 编写了一些代码,但对如何构建更长的代码并没有真正的信心。
我经常想要assumed-shape arrays。这在使用interface block、module 或contains 语句时似乎是可能的。然而,在主代码之外有子例程,不使用这些方法中的任何一种在许多情况下都有效,但不适用于assumed-shape arrays。
在什么情况下首选这些方法,主要区别是什么?
每种方法中的变量以何种方式共享/继承?
【问题讨论】:
-
您的最后一点是一个单独的问题,请在其他地方询问。但是先搜索一下,这里还有其他问题。
-
我删除了最后一个问题。是的,“重复”中的答案很有帮助!但是我没有找到我使用的关键字。
-
一定程度的重复是好的,因为它可以帮助人们在不同措辞的问题中找到答案,所以不用担心。关键是在这里复制另一个问题的答案是没有意义的。
-
尝试在您的帖子中提出一个问题(请参阅too broad 结束语)。继承也可能是一个单独的问题。在访问变量时,它发生在 主机关联 中。
contains部分中的任何内容都可以访问主机的变量。模块过程可以访问模块变量,内部过程可以访问宿主程序或宿主过程。
标签: fortran fortran90 gfortran f2py