【发布时间】:2015-06-22 15:33:24
【问题描述】:
我有一个存储子程序名称的变量。有没有办法我可以使用“调用[变量]”来调用子例程。
我有几个子程序(示例名称:X_1、X_2、X_3 等),用户提供数字(1、2、3 等),然后代码应该操作与数字相关的子程序。
【问题讨论】:
我有一个存储子程序名称的变量。有没有办法我可以使用“调用[变量]”来调用子例程。
我有几个子程序(示例名称:X_1、X_2、X_3 等),用户提供数字(1、2、3 等),然后代码应该操作与数字相关的子程序。
【问题讨论】:
编译器无法自动执行此操作。您必须准备一个表格来存储应该选择的数字或名称,然后调用正确的子程序。
之后,您可以使用 select case 构造选择正确的函数。
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
您还可以使用带有函数指针的表。所需的工作量将相似。
【讨论】: