带有多个语句的单行 VBScript 选择案例:例如:案例 0:x=a y=b

Posted

技术标签:

【中文标题】带有多个语句的单行 VBScript 选择案例:例如:案例 0:x=a y=b【英文标题】:Single line VBScript Select Case with multiple statements: eg: Case 0: x=a y=b 【发布时间】:2021-04-14 18:07:38 【问题描述】:

我正在使用 VBScript 随机选择一个标志和相应的国家。由于我生成代码的方式(以编程方式),每个 Case 语句将在一行中结束。

我知道在 Case x: 之后使用冒号 (":") 将标志 var 保持在同一行。但是,将国家/地区变量添加到该行会破坏代码。

此行的正确语法是什么?

当前代码示例:

Select Case rndCountry
Case 0: flag="af" country="Afghanistan"
Case 1: flag="al" country="Albania"
Case 2: flag="dz" country="Algeria"
Case 3: flag="as" country="American Samoa"
Case 4: flag="in" country="Andaman Islands"
Case 5: flag="ad" country="Andorra"
Case 6: flag="ao" country="Angola"
Case 7: flag="ai" country="Anguilla"
Case 8: flag="aq" country="Antarctica"
Case 9: flag="ag" country="Antigua and Barbuda"
Case 10: flag="ar" country="Argentina"
Case 11: flag="am" country="Armenia"
Case 12: flag="aw" country="Aruba"
Case 13: flag="ac" country="Ascension Island"
End Select

以上代码产生“预期语句结束”错误。

【问题讨论】:

在同一行的每个语句后添加:,这就是它的用途。示例Case 0: flag="af": country="Afghanistan". 这能回答你的问题吗? VBScript, purpose of colon? 谢谢user692942!我也想通了(巴掌) 【参考方案1】:

VBScript 使用新行来确定一个语句的开始位置和另一个语句的开始位置,但您可以使用冒号来终止语句,这样您就可以跨行跨越多个语句。

例如:

Case 0: flag="af": country="Afghanistan"

相当于:

Case 0
  flag="af"
  country="Afghanistan"

【讨论】:

【参考方案2】:

我一发帖就想明白了 :-)

正确的语法是:

Case 0: flag="af": country="Afghanistan"

请注意,以下内容也有效:

Case 0: flag="af": country="Afghanistan":

简而言之,每个变量后面都需要冒号,以将所有内容保留在一行代码中。

【讨论】:

以上是关于带有多个语句的单行 VBScript 选择案例:例如:案例 0:x=a y=b的主要内容,如果未能解决你的问题,请参考以下文章

带有 2 个动作的单行 if 语句

ArcGIS微课1000例0036:分式标注案例教程

如何将带有管道符号的多个参数传递到bash脚本案例语句中

ArcGIS Pro微课1000例0015:ArcGIS Pro中属性字段分式标注案例教程

ArcGIS Pro微课1000例0015:ArcGIS Pro中属性字段分式标注案例教程

立即窗口中的单行上的多个语句