我有一个图,每个顶点连接到 6 个邻居。在构建图形并声明连接时,我想使用如下语法:
1. val vertex1, vertex2 = new Vertex
2. val index = 3 // a number between 0 and 5
3. vertex1 + index = vertex2
结果应该是vertex2
被声明为 的index
-th 邻居vertex1
,相当于:
4. vertex1.neighbors(index) = vertex2
在 frobbing 的实现时Vertex.+
,我想出了以下内容:
5. def +(idx: Int) = neighbors(idx)
令人惊讶的是,这并没有导致我的 IDE(IntelliJIdea,BTW)在第 3 行下划线。但是,第 3 行的编译衍生出以下消息:
error: missing arguments for method + in class Vertex;
follow this method with `_' if you want to treat it as a partially applied function
接下来,我尝试使用提取器,但实际上,这似乎不太适合这种情况。
如果我想要实现的目标是否可行,有人知道吗?
谢谢