映射

Map 对象是一个 关联容器。它类似于数组或矢量 (例如 Vector),因为可以存储一个或多个对象,但是它的优势在于使用字典系统定位对象,而不是使用数字索引。因此,您可以使用任意值(字符串、整数、日期等)作为键来插入或查找对象。(请注意,无论初始类型如何,键都会隐式转换为字符串。)

您可以访问映射中的元素,就好像映射是一个函数(例如 Map("foo") 按键 "foo" 引用元素)。您还可以使用方括号(如数组或 Vector),但仅在键的名称以下划线开头或完全是数字时才可以使用(例如 Map[123]Map["_foo"])。此外,您还可以使用 getset 方法。

您可以使用 DOpusFactory.Map 方法创建一个新 Map。可以枚举映射中的键,并且它们会自动保持排序。

以下两个示例都输出以下内容:

count: 4
bird -> tweet
cat -> meow
dog -> woof
snake -> hiss

JScript 示例:

var map = DOpus.Create.Map();

map("cat") = "meow";
map("dog") = "woof";
map("bird") = "tweet";
map("snake") = "hiss";

DOpus.Output("count: " + map.count);

for (var e = new Enumerator(map); !e.atEnd(); e.moveNext())
{
 var key = e.item();
 var value = map(key);
 DOpus.Output(key + " -> " + value);
}

VBScript 示例:

Dim map, key, value
Set map = DOpus.Create.Map

map("cat") = "meow"
map("dog") = "woof"
map("bird") = "tweet"
map("snake") = "hiss"

DOpus.Output "count: " & map.count

For Each key In map
 value = map(key)
 DOpus.Output(key & " -> " & value)
Next

最后更新于