如何在运行时确定在vbscript中调用哪个函数

如何在运行时确定在vbscript中调用哪个函数,vbscript,qtp,Vbscript,Qtp,在我的例子中,可能的输入值范围非常大。因此,选择案例的方法是行不通的。 所以根据我的输入,我说花。。doffodil、lily、rose等,我要调用的函数名将是flowerdoffodil(),flowerlily(),flowerrose(),等等。这些函数的Ech已经定义。 只需要在运行时根据我的输入确定调用哪一个。 有没有办法在vb脚本中实现这一点? 注意:我是一名新手程序员,正在使用QTP实现自动化。如中所示使用: 输出: cscript 30161364.vbs doffodil Ob

在我的例子中,可能的输入值范围非常大。因此,选择案例的方法是行不通的。 所以根据我的输入,我说花。。doffodil、lily、rose等,我要调用的函数名将是
flowerdoffodil()
flowerlily()
flowerrose()
,等等。这些函数的Ech已经定义。 只需要在运行时根据我的输入确定调用哪一个。 有没有办法在vb脚本中实现这一点? 注意:我是一名新手程序员,正在使用QTP实现自动化。

如中所示使用:

输出:

cscript 30161364.vbs
doffodil Object my name is daffodil!
lily Object my name is lily!
rose Object my name is rose!
进一步思考:你可以使用字典:

Dim dicFncs : Set dicFncs = CreateObject("Scripting.Dictionary")
Set dicFncs("doffodil") = GetRef("flowerdoffodil")
Set dicFncs("lily") = GetRef("flowerlily")
Set dicFncs("rose") = GetRef("flowerrose")
并调用如下函数:

(另请参见:,)

如中所述使用:

输出:

cscript 30161364.vbs
doffodil Object my name is daffodil!
lily Object my name is lily!
rose Object my name is rose!
进一步思考:你可以使用字典:

Dim dicFncs : Set dicFncs = CreateObject("Scripting.Dictionary")
Set dicFncs("doffodil") = GetRef("flowerdoffodil")
Set dicFncs("lily") = GetRef("flowerlily")
Set dicFncs("rose") = GetRef("flowerrose")
并调用如下函数:


(另请参见:,)

备选方案是使用Eval&Co,这将避免使用GetRef(不确定这是否更好,但“评估此字符串”的概念可能比函数指针/委托的概念更容易理解)。备选方案是使用Eval&Co,这将避免使用GetRef(不确定这是否更好,但理解“评估此字符串”的概念可能比理解函数指针/委托的概念更容易)。