0
我编写了一个函数枚举给定列表的排列,但我不明白为什么它一贯返回一个空列表,而不是排列。 你能帮我理解吗?缺少的东西在循环评估(斯卡拉)
def permutations(l: List[Any]): List[List[Any]] = l match {
case Nil => Nil
case head :: tail => for {
element <- l
permutationOfRest <- permutations(l.filter(x => x != element))
} yield element :: permutationOfRest
}
非常感谢。我经常对map和flatMap感到困惑 – ilmirons