Scala:如何仅保留包含点的完整列表的路径

时间:2018-11-03 15:55:54

标签: scala path

我遇到一个问题,我需要找到所有包含停靠点列表的路径,包括路径列表和参数中给出的点列表。

路径是线段的向量,线段是两个点(“起点”和“终点”)。

到目前为止,我找到包含给定点列表的路径列表的功能是

def containsListOfStops(paths: List[Path], points: List[Point]): List[Path]={

if (paths.isEmpty) List()
(for {
    point <- points
    path <- containsIntermediateStop(paths,point)
  } yield path).distinct

如果返回返回包含给定点的路径的函数,则包含IntermediateStop。

我的问题是它返回包含列表中至少一个点的所有路径,而我只希望包含每个点的路径。

您有什么想法可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您正在向containsIntermediateStop函数发送所有所有路径和一个点。 像

这样的事情怎么样
def containsPoints(path: Path, points: List[Point]): Boolean = ??? //implement checking all points in path

比起您可以简单地做些(不需要for循环)

paths.distinct.filter(path => containsPoints(path, points)) 

对您有用吗?