Есть ли словарь словарей в QTP версии VBS? - PullRequest
5 голосов
/ 26 января 2012

Что-то похожее на Set<String, Set<String>> в Java?

1 Ответ

12 голосов
/ 26 января 2012

Набор - это неупорядоченная коллекция уникальных элементов.Многие реализации Set основаны на хеш-таблицах (возможно, пары ключ-значение).VBScript имеет класс Dictionary -

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 (и теория ) вы даже можете использовать объекты в качестве ключей (не только строки, как в других языках):

>> 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

Ваш практический пробег может отличаться.

...