如何创建包含loc,int和string的集合?在下面的示例中,看来我的地图已转换为容器类型“值”。我想使用一组的特征;集合中仅应包含一个元素,顺序无关紧要。在下面的示例中,我希望将其包含在集合中的元素相同。
rascal>mySet = ();
map[void, void]: ()
rascal>mySet += {<|project://Test/|, 1, "test"> };
value: {
(),
<|project://Test|,1,"test">
}
rascal>mySet += {<|project://Test/|, 1, "test"> };
value: {
<|project://Test|,1,"test">,
{
(),
<|project://Test|,1,"test">
}
}
再次感谢您的指教:-)
奇怪的事情正在发生。首先,mySet是一个地图,然后向其添加一个集合,而该变量mySet
突然变成一个包含先前地图和添加的新元素的集合。在我看来,它+=
有一个错误。
如果要向集合中添加多个元素,则应从集合开始并向其中添加元素,如下所示:
rascal>mySet = { |project://Test| ,1, "test" }; // simply create the set with 3 different elements in it
set[value]: { |project://Test| ,1, "test" }
或者,您可以从一个空集开始并添加元素:
rascal>mySet = {};
set[void]: {}
rascal>mySet += 1;
set[int]: {1}
rascal>mySet += |project://Test|;
set[value]: {1, |project://Test|}
rascal>mySet += "test";
set[value]: {1, |project://Test|, "test"}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句