ds_map_add

该函数应用于将键 / 值对组添加到指定的 DS 映射中。您可以检查此函数以查看其是否成功 (如果成功则返回 true,否则返回 false),因为如果 DS 映射中已存在相同的键或者您已存在相同的键,则该函数可能会失败。指定一个不存在的 DS 地图作为要添加到的地图的 ID。您提供的键和值可以由数据类型的任意组合组成,因此以下所有内容以及更多内容都是可接受的 (尽管在实践中,您最常使用字符串作为键):

ds_map_add(map, 5, undefined);
ds_map_add(map, "level", 1);
ds_map_add(map, 89.6, "hello world");
ds_map_add(map, 5, buffer_get_address(buff));

您还可以使用访问器"?"添加到地图,如下所示:

map[? 5] = undefined;
map[? "level"] = 1;
map[? 89.6] = "hello world";
map[? 5] = buffer_get_address(buff);

注意GameMaker 中的其他数据结构不同,此键不会进入 DS 地图的开头 (也不会结尾),而只会进入 DS 映射 某处

 

语法:

ds_map_add(id, key, val);

参数类型描述
idDS Map要添加到的映射的ID。
keyString要添加的值的关键字。
valAny要添加到地图的值。

 

返回:

Boolean

 

例子:

inventory = ds_map_create();
ds_map_add(inventory, "hp potion", 1);
ds_map_add(inventory, "gold", 100);

这将创建一个新映射,将其ID分配给变量"inventory"。然后,它在地图上添加了两个新键,"hp potion"和"gold",并将它们的初始值分别设置为1和100。