Scala代码:反向操作
我想确保正确理解一些scala代码。我在类中有一个方法,如下所示:Scala代码:反向操作,scala,Scala,我想确保正确理解一些scala代码。我在类中有一个方法,如下所示: def getNodes(): IndexedSeq[Node] = allNodes 然后在某个地方调用此方法,称为: val nodes = graph.getNodes() 然后是一条线 val orderedNodes = nodes ++ nodes.reverse 这是否会产生另一个序列,其中原始序列和反向序列连接在一起,或者还有其他微妙之处?是的,结果是一个新的IndexedSeq,包含与您所写的相同的项。您
def getNodes(): IndexedSeq[Node] = allNodes
然后在某个地方调用此方法,称为:
val nodes = graph.getNodes()
然后是一条线
val orderedNodes = nodes ++ nodes.reverse
这是否会产生另一个序列,其中原始序列和反向序列连接在一起,或者还有其他微妙之处?是的,结果是一个新的IndexedSeq,包含与您所写的相同的项。您正在调用的方法
++
和reverse
在这里有详细的说明:
您的代码可以这样编写:
val orderedNodes = nodes.++(nodes.reverse)
是的,结果是一个新的IndexedSeq,它包含与您编写的一样的项。您正在调用的方法
++
和reverse
在这里有详细的说明:
您的代码可以这样编写:
val orderedNodes = nodes.++(nodes.reverse)
我相信它会生成一个新的序列,其中节点的顺序与节点的顺序相反。我不知道为什么会被称为
orderedNodes
。应该没有任何微妙之处,但我们需要查看完整的源代码才能确定,并让我们知道这是哪个图形库。谢谢。可以在这里找到这个库:我试图理解它背后的方法。我认为orderedNodes排序指示了算法访问节点的顺序。我相信它会生成一个新的序列,其中节点的顺序与节点的顺序相反。我不知道为什么会被称为orderedNodes
。应该没有任何微妙之处,但我们需要查看完整的源代码才能确定,并让我们知道这是哪个图形库。谢谢。可以在这里找到这个库:我试图理解它背后的方法。我认为orderedNodes排序表示算法访问节点的顺序。