Ich versuche, ein Tupel von Listen der gleichen Länge zu konvertieren: ([Int], [Int], ..)
auf eine Liste von Tupeln [(Int, Int, ...)]
. Dies kann für vorgegebene Größen mit dem folgenden Code erreicht werden:auf eine Liste von Tupeln für beliebige - Haskell
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)
Wie Sie wahrscheinlich sehen können, ist dies nicht recht sein würde, wenn ich viele Elemente in der Liste benötigen, und es viel sauberer sein würde, wenn es für einen beliebigen Wert funktioniert.
Also meine Fragen ist, haben Sie eine Funktion, die diese Operation für Tupel beliebiger Länge preforms?
Die Tupelgröße definiert ihren Typ, warum nicht stattdessen die Liste verwenden? –
Ich möchte diese Funktion für die Verwendung über ihre aktuelle Verwendung hinaus erweitern, derzeit handelt es sich um ein bestimmtes Tupel bekannter Größe, ich habe jetzt ein ganz anderes Problem, und ich möchte die Funktion nicht umschreiben –
Sie müssen die Funktion neu schreiben trotzdem, und Sie sollten Listen anstelle von Tupeln verwenden. Siehe auch [* Warum verwenden wir Tupel, wenn wir eine zweidimensionale Liste verwenden können? *] (Http://stackoverflow.com/q/31497468/2751851), von denen Ihre Frage ein Spiegelbild ist. – duplode