子程序名称Fortran名称

时间:2015-06-22 15:33:25

标签: fortran fortran90

我有一个存储子程序名称的变量。有没有办法可以通过使用“call [variable]”来调用子程序。

我有几个子程序(示例名称:X_1,X_2,X_3等),并且用户提供数字(1,2,3等),然后代码应该操作与该数字相关联的子程序。

1 个答案:

答案 0 :(得分:4)

编译器无法自动执行此操作。您必须准备一个表,该表存储应该选择它们的数字或名称,然后调用正确的子程序。

之后,您可以使用选择案例构造选择正确的函数。

select case (n)
  case (1)
    call subroutine_1
  case (2)
    call subroutine_2
end select

select case (name)
  case ("subroutine_1")
    call subroutine_1
  case ("subroutine_2")
    call subroutine_2
end select

您还可以使用带有函数指针的表。所需的工作量将是相似的。