Dictionary 在VBS的QTP版本中是否有词典?

Dictionary 在VBS的QTP版本中是否有词典?,dictionary,vbscript,qtp,Dictionary,Vbscript,Qtp,类似于Java中的Set的东西?集合是唯一元素的无序集合。许多Set实现都基于哈希表(可能是键值对)。VBScript有一个字典类- Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary") 不能添加同一个键两次,因此VBScript字典的键表示/建模一个集合(但集合是按插入顺序排列的)。没有什么可以阻止您将(其他)词典放入值: >> Dim dicParent : Set dicParent = Cr

类似于Java中的
Set
的东西?

集合是唯一元素的无序集合。许多Set实现都基于哈希表(可能是键值对)。VBScript有一个字典类-

Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
不能添加同一个键两次,因此VBScript字典的键表示/建模一个集合(但集合是按插入顺序排列的)。没有什么可以阻止您将(其他)词典放入值:

>> Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
>> dicParent.Add "Fst", CreateObject("Scripting.Dictionary")
>> dicParent("Fst").Add "Snd", "child of parent"
>> WScript.Echo dicParent("Fst")("Snd")
>>
child of parent
在VBScript(和理论)中,您甚至可以将对象用作键(而不仅仅是其他语言中的字符串):


您的实用里程可能会有所不同。

关于使用对象作为关键点的评论很好。尽管如此,我还是要考虑一下它的实际用途。可能是穷人的链表、堆栈或队列。哦,我用它实现了类似API缓存的功能——最小化对DataTable对象的引用,在字典中存储对象属性(或引用)。工作很好,确实有用。
>> Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
>> Dim dicChild  : Set dicChild  = CreateObject("Scripting.Dictionary")
>> dicParent(dicChild) = "child of parent"
>> WScript.Echo dicParent(dicChild)
>>
child of parent