理解VBScript中的Const表达式

时间:2013-03-20 01:18:50

标签: syntax vbscript const declaration

好吧,我尝试了解ConstVBScript 表达式中的限制。除了文字,我无法使用任何东西。 the docs say是什么:

  

文字或其他常量,或包含所有的任何组合   除 之外的算术或逻辑运算符。

所以,如果“包括所有算术运算符或逻辑运算符”,那么逻辑上我希望我能做到这样的事情:

Const X = (1 + 2)

但是这会带来错误“Expected literal constant”。我找到了一个有趣的答案here,允许一个人在某种程度上作弊,所以上面可以用:

Execute "Const X = " & (1 + 2)

但我的问题是标准的常量声明。如果机密地说文档说“表达可能只是文字”,那么我永远不会问 那么我还能用什么(除了文字)?

1 个答案:

答案 0 :(得分:4)

Script56.chm在备注部分中说明了以下内容:

  

默认情况下,常量是公共的。在程序中,常量总是私有的;他们的知名度无法改变。在脚本中,可以使用Private关键字更改脚本级常量的默认可见性。

     

要在同一行上组合多个常量声明,请用逗号分隔每个常量赋值。当以这种方式组合常量声明时,Public或Private关键字(如果使用)适用于所有这些关键字。

     

您不能在常量声明中使用变量,用户定义的函数或内部VBScript函数(如Chr)。根据定义,它们不能是常量。 您也无法从涉及运算符的任何表达式创建常量,也就是说,只允许使用简单常量。在Sub或Function过程中声明的常量是该过程的本地。在过程外声明的常量在声明它的脚本中定义。您可以在任何可以使用表达式的地方使用常量。

上面的斜体字表示“无论是否包含所有算术或逻辑运算符,除了Is”声明之外的“或​​”。