2012-01-26 26 views

Trả lời

11

Tập hợp là tập hợp các phần tử độc đáo không theo thứ tự. Nhiều triển khai Set được dựa trên các bảng băm (có thể là các cặp khóa-giá trị). VBScript có một lớp từ điển -

Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary") 

Bạn không thể thêm phím tương tự hai lần, vì vậy các phím của một từ điển VBScript đại diện/mô hình một Set (Set được ra lệnh (bằng cách chèn), tuy nhiên). Không có gì giúp bạn từ đặt Từ điển (khác) vào các giá trị:

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

Trong VBScript (và lý thuyết), bạn thậm chí có thể sử dụng đối tượng như phím (không chỉ chuỗi như trong các ngôn ngữ khác):

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

Số thực tế mileage của bạn có thể thay đổi.

+0

Nhận xét hay về cách sử dụng các đối tượng làm khóa. Tất cả, tôi sẽ phải suy nghĩ về việc sử dụng thực tế cho điều đó. Có thể danh sách liên kết, xếp chồng hoặc xếp hàng của một người nghèo. – AutomatedChaos

+0

Ồ, tôi đã sử dụng nó để thực hiện một cái gì đó giống như bộ nhớ đệm API - để giảm thiểu các tham chiếu đến đối tượng DataTable, lưu trữ các thuộc tính đối tượng (hoặc các tham chiếu) trong một từ điển. Hoạt động tốt, có thể hữu ích thực sự. – TheBlastOne

Các vấn đề liên quan