Gepostet: |
ListComprehension | ||||||||||
Hallo, und erstmal danke das ihr euch zeit nimmt das hier zu lesen ^^...ich habe einige Probleme mit der List comprehension...eigentlich ist sie ja ganz schön und für einen Mathematiker gibt es sicherlich nichts schöneres mit Listen ^^, aber irgendwie fehlt mir wohl die erfahrung die Mengen die ich normal definieren könnte in Haskell zu definieren. z.B. hab ich folgende funktion muh :: [Int]-> [(Int,Int) muh []=error "leere liste" muh [x] = [] muh (x:y:xs)= (x,y):makeRouteofList (y:xs) muh _ = [] --ps. diese beiden abbruch bedingungen hab ich reingemacht weil er es anders nicht akzeptiert hat.."Equations give diffrent arities ..." obwohl ich den unterschied nicht schnalle so, wie man unschwer erkennen kann liefert mir die funktion die Kombinationen einer Liste der aufeinander folgenden Element und rest... aber wie kann ich das nun per ListComprehension ausdrücken? würd ich die Menge so definieren würd ich einfach indeces benutzen aber gibt es die hier? ich hab nichts gefunden -.-...und alle anderen Versuche scheiterten, da ich immer zuviel des guten bekommen hab aber nicht weiter einschränken konnte ich hoffe ihr habt bis hierhin gelesen und danke euch nochmals für eure mühe *sich verneig* |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hi, schön, daß hier endlich mal wieder jemand postet. Bin mir nicht sicher, ob ich dich richtig verstanden habe, aber ich nehme an, deine Funktion soll aus [0,1,1,2,3,5,8] bspw. [(0,1),(1,1),(1,2),(2,3),(3,5),(5,8)] machen. Das kann man durch folgende Funktion lösen: muh :: [Int] -> [(Int,Int)] n<-[0..(length ls)-2] ... n durchläuft alle Werte von 0..Länge der Liste-2 sls<-[drop n ls | n<-[0..(length ls)-2]] ... hier werden alle Unterlisten erzeugt, die durch Streichen der ersten n Elemente aus der Originalliste entstehen (drop ist im Prelude definiert) let (x:y:_)=sls ... x und y bilden die ersten beiden Elemente einer Unterliste Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
danke ^^ das ist genauso wie ichs haben wollte (hatte nur ne kleinigkeit vergessen aber die hab ich selbst hinzugekriegt ^^), aber auf diese interessante verschachtelung um den index zu ersetzten wär ich wohl nie gekommen -.-...bleibt einen wohl nur üben üben üben |
|||||||||||
Zum Seitenanfang | |||||||||||