0

我需要将 Clarion 例程的名称传递给变量并运行它。

例如:

!************************

RoutineName='CalculateSomething'

DO 例程名称

!************************

它不适用于这种格式,所以我还在变量前后尝试了其他字符(括号、引号等)。没运气。

请注意,例程 'CalculateSomething' 存在并且使用基本命令运行良好:

!************************

DOCalculateSomething

!************************

4

2 回答 2

0

我认为 Clarion 编程语言没有这样的选择。

我建议像这样的 CASE 声明的唯一方法:

RoutineName='CalculateSomething' 

    CASE UPPER(RoutineName)  
    OF 'CALCULATESOMETHING' 
        DO CalculateSomething
    OF 'CALCULATESOMETHINGELSE' 
        DO CalculateSomethingElse 
    OF 'CALCULATENOTHING'
        DO CalculateNothing 
    END 
于 2017-10-23T11:49:10.237 回答
0

使用 case 语句来做到这一点怎么样?

RoutineName='CalculateSomething'

CASE RoutineName
OF 'CalculateSomething'
  DO CalculateSomethingRoutine
OF 'SomethingElse'
  DO SomethingElseRoutine
ELSE
  Stop('Unknown routine named: ' & RoutineName)
END
于 2017-10-23T11:48:36.447 回答