ExecuteGlobal 语句
执行一个功多个在脚本全局名字空间中指定的语句。
ExecuteGlobal statement
statement 参数是一个包含一个或多个可执行语句的字符串表达式 。在statement 参数中可以包含多条语句, 使用冒号将其分开。
说明
在 VBScript 中, x = y 有两种解释方法。第一种方法是作为一条赋值语句, 将 y 的值赋给 x。第二种方法是作为一个表达式 ,用于测试 x 和 y 是否具有相同的值。如果它们相等,则结果为 True; 如果他们不相等,其结果为 False.ExecuteGlobal 语句总是使用第一种方法,而 Eval 方法总是使用第二种方法。
注意 在 Microsoft? Visual Basic Scripting Edition?中, 赋值与比较之间不存在混消,因为赋值运算符(=) 不同于比较运算符。
在脚本的全局名字空间中,ExecuteGlobal 中的所有语句都有是可执行的。因此,允许您将代码添加到程序中,以便于任何 过程 能够对其进行访问。例如,一个 VBScript Class 语句在运行时可以执行。随之函数创造此类的一个新实例。
在运行时添加过程和类是非常有用的,但是也可能导致在运行时覆盖已有的全局 变量 和函数。因为这可能导致非常严重的程序问题,因此,当使用 ExecuteGlobal 语句时一定得非常谨慎。如果您无需访问过程之外的变量或函数,最好使用Execute 语句,因为它只影响主调函数的名字空间。
下面的例子解释了 ExecuteGlobal 语句的用法。
Dim X '
声明X
为全局变量。X = "Global" '
给全局变量X
赋值。Sub Proc1 '
声明过程。Dim X '
在局部变量中声明X
。X = "Local" '
给局部变量X
赋值。'
此处的可执行语句'
创建一个过程,
当被调用时,
打印X
。'
此处将打印全局变量X
的值,因为Proc2
'
继承了全局变量中的一切。ExecuteGlobal "Sub Proc2:
打印X: End Sub"
Print Eval("X") '
打印局部X
。Proc2 '
在全局作用区域中调用Proc2
'
将打印"Global"
。End Sub
Proc2 '
此行将导致错误
'
因为Proc2
在Proc1
之外是不可用的。Proc1 '
调用Proc1
。Execute "Sub Proc2:
打印X: End Sub"
Proc2 '
此行调用成功,因为Proc2
'
在全局作用区域中是可用的。
下面的例子演示了 ExecuteGlobal 语句可以被重写,因此您无需将下面的整个过程都包括在引用标记之内。
S = "Sub Proc2" & vbCrLfS = S & " Print X" & vbCrLf S = S & "End Sub"ExecuteGlobal S
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。