首先,我想说答案与present
或write(*,*) ...
不同。
我想定义一个看起来像optional
的函数。如我们所见,输入变体的数量可以是任意的。如果我们使用JSON.stringify(<data>)
关键字,我们需要定义所有可能的输入。假设我们有1000个(可能的)输入,我们可以做什么?
答案 0 :(得分:7)
您无法使用简单的子例程或Fortran参数执行任何操作。这根本不可能。您只能使用函数中定义的参数。
如果所有输入的类型相同,则必须将所有内容放入数组中,否则您将不得不创建一些更复杂的派生类型 - 可能是多态链接列表或类似内容。
请注意,您要求的内容确实存在于某些语言中(例如,C变量函数),但它在Fortran中不存在。