"Is" 和 "In" 的含义
Meaning of "Is" & "In"
VBScript中的is
和in
是什么意思?因为我用UFT写的时候是蓝色的。
我可以使用它们 检查矩阵 中是否存在值 而无需循环 吗?因为这正是我要找的。我的意思是这样的:
If "Ahmed" is in Matrix() Then
msgbox "He's in"
End If
如有疑问,请阅读 documentation. The Is
运算符用于检查两个对象引用(对象变量)是否指向同一对象:
Set sh1 = CreateObject("WScript.Shell")
Set sh2 = CreateObject("WScript.Shell")
Set sh3 = sh1
WScript.Echo "" & (sh1 Is sh2) 'Output: False
WScript.Echo "" & (sh1 Is sh3) 'Output: True
关键字 In
存在于 VBScript 中,但仅作为 For Each
循环的一部分:
Set fso = CreateObject("Scripting.FileSystemObject")
'"In" used in For Each loop.
For Each f In fso.GetFolder("C:\some\folder").Files
WScript.Echo f.Name
Next
您可以使用 For Each
循环来检查数组(准确地说是一个数组维度)是否包含特定值:
For Each element In arr
If element = refElement Then
...
End If
Next
不过,我不知道有一种方法可以检查 VBScript 数组是否包含没有循环的特定元素(除非您将元素连接到字符串,然后使用 InStr
测试元素,它不适用于所有数据类型)。你可以用 Dictionary
:
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", True
d.Add "b", True
WScript.Echo "" & d.Exists("a") 'Output: True
WScript.Echo "" & d.Exists("c") 'Output: False
或 ArrayList
:
Set al = CreateObject("System.Collections.ArrayList")
al.Add "a", True
al.Add "b", True
WScript.Echo "" & al.Contains("a") 'Output: True
WScript.Echo "" & al.Contains("c") 'Output: False
但是,使用不同的数据结构很可能需要更改其余代码。
VBScript中的is
和in
是什么意思?因为我用UFT写的时候是蓝色的。
我可以使用它们 检查矩阵 中是否存在值 而无需循环 吗?因为这正是我要找的。我的意思是这样的:
If "Ahmed" is in Matrix() Then
msgbox "He's in"
End If
如有疑问,请阅读 documentation. The Is
运算符用于检查两个对象引用(对象变量)是否指向同一对象:
Set sh1 = CreateObject("WScript.Shell")
Set sh2 = CreateObject("WScript.Shell")
Set sh3 = sh1
WScript.Echo "" & (sh1 Is sh2) 'Output: False
WScript.Echo "" & (sh1 Is sh3) 'Output: True
关键字 In
存在于 VBScript 中,但仅作为 For Each
循环的一部分:
Set fso = CreateObject("Scripting.FileSystemObject")
'"In" used in For Each loop.
For Each f In fso.GetFolder("C:\some\folder").Files
WScript.Echo f.Name
Next
您可以使用 For Each
循环来检查数组(准确地说是一个数组维度)是否包含特定值:
For Each element In arr
If element = refElement Then
...
End If
Next
不过,我不知道有一种方法可以检查 VBScript 数组是否包含没有循环的特定元素(除非您将元素连接到字符串,然后使用 InStr
测试元素,它不适用于所有数据类型)。你可以用 Dictionary
:
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", True
d.Add "b", True
WScript.Echo "" & d.Exists("a") 'Output: True
WScript.Echo "" & d.Exists("c") 'Output: False
或 ArrayList
:
Set al = CreateObject("System.Collections.ArrayList")
al.Add "a", True
al.Add "b", True
WScript.Echo "" & al.Contains("a") 'Output: True
WScript.Echo "" & al.Contains("c") 'Output: False
但是,使用不同的数据结构很可能需要更改其余代码。