问题描述
我正在尝试在此结构的地图上创建地图理解:
map[Node,set[Node]]
我对地图的理解类似于:
(currentNode: {currentNode} | <currentNode,_> <- dominanceSet);
但是我遇到了这个错误:
是否可以使用另一种策略来实现类似的行为?
解决方法
Rascal中的地图生成器生成键值(而不是某种形式的“条目”或元组)。
所以代码是:
(currentNode: {currentNode} | currentNode <- dominanceSet)
请注意,标准库中有一些专门的功能可以加快索引关系,例如Relations
中有map[&K,set[&V]] index(rel[&K,&V] R);