带有多个语句的单行 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的主要内容,如果未能解决你的问题,请参考以下文章
ArcGIS Pro微课1000例0015:ArcGIS Pro中属性字段分式标注案例教程