2012-01-26 12 views

答えて

11

セットは、一意の要素の順序付けられていないコレクションです。多くの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 
何も値に(他の)辞書を入れてからあなたを維持しません

実用の場合があります。

+0

オブジェクトをキーとして使用することについての素敵な発言。しかし、私はそれを実践するために考えなければなりません。たぶん、貧しい人のリンクリスト、スタックまたはキュー。 – AutomatedChaos

+0

ああ、私はAPIキャッシングのようなものを実装するために使用しました。DataTableオブジェクトへの参照を最小限にし、オブジェクトプロパティ(または参照)を辞書に格納します。うまく動作し、実際に役立つことができます。 – TheBlastOne