3
I found a function Scalaのリストのリストからデカルト積を作成します。しかし、これは末尾再帰的ではなく、大きなリストではうまく機能しません。残念ながら、設計時に結合する必要のあるリストの数がわからないので、再帰関数が必要であると考えています。Scalaでこの再帰的メソッドの尾を再帰的にする方法は?
def product[T](listOfLists: List[List[T]]): List[List[T]] = listOfLists match {
case Nil => List(List())
case xs :: xss => for (y <- xs; ys <- product(xss)) yield y :: ys
}
:http://stackoverflow.com/a/6977068/450128その質問はPythonの文脈の中にありましたが、アキュムレータのアイデアをもう少し見る必要がある場合は、役立つかもしれません。 – Ben
美しさのこと、ありがとう! – Nathan
正直言って私は自分自身の推論力を使って解決策を考え出すことができなかったと思う。だから、これは、機能的なスタイルで働いている間に時間をかけて栽培したり、私のリーグから老いているだけなのか、という考え方ですか? :) – Nathan