在VBScript

时间:2017-06-08 16:10:53

标签: vbscript eval

Eval函数的正常用法如下:

ValueName2 = Eval("Value" + CStr(CurrentValue) + "Name2")

这可以根据Value[n]Name2返回CurrentValue

然后我尝试在反之亦然模式中使用Eval

Eval("Value" + CStr(CurrentValue) + "Name2") = ValueName2

所以无论是原始变量(例如:ValueName2Value1Name2 .....),这总是可以返回,Value100Name2

但是,这次当我检查Value1Name2的值时,它是空的,VB Script也会返回错误:

  

类型不匹配:“Eval”

那我怎样才能在反之亦然模式中使用Eval

先谢谢。

1 个答案:

答案 0 :(得分:3)

Eval将始终返回值,而不是变量引用,因此,您无法使用Eval来解决问题。

您可以使用

Call Execute( "Value" + CStr(CurrentValue) + "Name2 = ValueName2" )

但使用数组或字典更容易,更快捷。