InterSystems 缓存:如何将宏名称存储在变量中然后对其求值

InterSystems Cache: How to store macro name in a variable then evaluate it

如何将宏名称存储在变量中,然后再使用它?

例如:

Set myVariable = "AssertEquals"

Do $$$myVariable(...)

Set myVariable = "$$$AssertEquals"

Do myVariable(...)

以为我可以做类似下面的事情,但那也不起作用(我得到 CLASS 不存在)。

Do $CLASSMETHOD("%UnitTest.TestCase","AssertEqualsViaMacro",....)

没办法,宏指令在编译时就被消耗掉了,但你要在运行时使用它们。我认为您应该更好地解释您实际要实现的目标。如果你问 here.

,你会得到更多答案