私はScalaを初めて使用し、Haskellを介した関数型プログラミングの経験は非常に限られています。
単一の入力リストから作成されたすべての可能なペアのリストを作成してみたいと思います。例:
val nums = List[Int](1, 2, 3, 4, 5) // Create an input list
val pairs = composePairs(nums) // Function I'd like to create
// pairs == List[Int, Int]((1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1) ... etc)
zip
全体で1つのアイテムが複製されることを期待して、リスト全体で各要素を使用してみました。それは機能しませんでした(最初の可能なペアにのみ一致しました)。要素を繰り返す方法がわかりません(Haskellはそれを実行しcycle
、take
私は信じています)。Scalaのドキュメントに従うのに問題がありました。
これにより、私が望む結果を得るには、おそらくもっと簡潔で機能的な方法があるのではないかと思います。誰かが良い解決策を持っていますか?