如何定义具有任意数量参数的Fortran子例程?

时间:2017-11-26 09:06:08

标签: fortran

首先,我想说答案与presentwrite(*,*) ...不同。

我想定义一个看起来像optional的函数。如我们所见,输入变体的数量可以是任意的。如果我们使用JSON.stringify(<data>)关键字,我们需要定义所有可能的输入。假设我们有1000个(可能的)输入,我们可以做什么?

1 个答案:

答案 0 :(得分:7)

您无法使用简单的子例程或Fortran参数执行任何操作。这根本不可能。您只能使用函数中定义的参数。

如果所有输入的类型相同,则必须将所有内容放入数组中,否则您将不得不创建一些更复杂的派生类型 - 可能是多态链接列表或类似内容。

请注意,您要求的内容确实存在于某些语言中(例如,C变量函数),但它在Fortran中不存在。