在 Rascal 中遍历地图
Iterate over a map in Rascal
我正在尝试在这种结构的地图上创建地图理解:
map[Node, set[Node]]
我的地图理解是这样的:
(currentNode: {currentNode} | <currentNode, _> <- dominanceSet);
但是我收到了这个错误:
有没有办法使用另一种策略实现类似的行为?
Rascal 中的地图生成器生成键值(而不是某种形式的“条目”或元组)。
所以代码是:
(currentNode: {currentNode} | currentNode <- dominanceSet)
请注意,标准库中有一些专门用于更快索引关系的函数,例如 Relations
中有 map[&K, set[&V]] index(rel[&K, &V] R);
我正在尝试在这种结构的地图上创建地图理解:
map[Node, set[Node]]
我的地图理解是这样的:
(currentNode: {currentNode} | <currentNode, _> <- dominanceSet);
但是我收到了这个错误:
有没有办法使用另一种策略实现类似的行为?
Rascal 中的地图生成器生成键值(而不是某种形式的“条目”或元组)。
所以代码是:
(currentNode: {currentNode} | currentNode <- dominanceSet)
请注意,标准库中有一些专门用于更快索引关系的函数,例如 Relations
中有 map[&K, set[&V]] index(rel[&K, &V] R);