同じ長さのリストのタプルを ([Int], [Int], ..)
タプルのリストに変換しようとしています[(Int, Int, ...)]
。これは、次のコードで所定の大きさのために行うことができます。同じ長さのリストのタプルを任意のタプルのリストに変換する
buildList :: ([a], [a], [a], [a], [a], [a], [a], [a]) -> [(a, a, a, a, a, a, a, a)]
buildList ([], [], [], [], [], [], [], []) = []
buildList (a:as, b:bs, c:cs, d:ds, e:es, f:fs, g:gs, h:hs) = (a, b, c, d, e, f, g, h) : buildList (as, bs, cs, ds, es, fs, gs, hs)
あなたはおそらく見ることができるように、私は、リスト内の項目の多くを必要とするとき、これがかなりあることを行っていない、そしてそれは非常にきれいになりますそれが任意の価値のために働くならば。
私の質問は、任意の長さのタプルに対してこの操作を実行する関数を持っていますか?
タプルサイズはその型を定義しています。代わりにリストを使用してみてはいかがですか? –
私はこの機能を現在の用途を超えて使用するために拡張したいと思っています。現在、既知のサイズの特定のタプルで動作しています。今はまったく異なる問題があり、機能を書き換えたくありません。 –
関数とにかく、タプルの代わりにリストを使うべきです。 2次元リストを使うことができるのであれば、[*なぜタプルを使うのですか?*](http://stackoverflow.com/q/31497468/2751851)、あなたの質問は鏡像です。 – duplode