Gepostet: |
ZF Notation - List Comprehension | ||||||||||
Hi nochmal, ich habe eine Aufgabe in der ich die sogenannte ZF Notation anwenden muss. Bisher konnte ich mir nicht erschließen wie sie genau funktioniert. Habe auch ein Beispiel finden können -- Beispiel zur ZF-Notation (list comprehension) 1) Kann mir jmd erklären wie das genau funkioniert? 2) Die Funktion paare macht sicherlich was aber wenn ich sie in Winhugs aufrufe weiss ich nicht ganz wie ich die Parameter zu übergeben habe. [(x,y)] kenne ich noch nicht. Also mit paare (2,3) hats nicht funktioniert. Was logisch ist aber ich weiss nicht was der von mir haben will. Gruß Edit: Mir fällt grad auf, die meinen wahrscheinlich eine Liste von Tupeln richtig? |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hallo, ZF-Notation sagt mir nichts, aber hier deutet alles auf die Verwendung von List Comprehensions hin. ^^ zu 1.) List Comprehensions bestehen meinst aus einem Generator und einen Filter; der Generator liefert eine Menge (Liste) von Werten, der Filter bildet diese Werte auf True/False ab. Das ganze sieht dann z.B. so aus: [x | x <- gen, f x] gen ist hier der Generator, f der Filter. Das ganze ergibt dann wiederum eine Liste mit allen Elementen aus gen, für die f True ergibt. Bspw. liefert [x | x <- [1..10], x > 5] alle Zahlen zwischen 1 und 10, die größer als 5 sind. Natürlich können auch mehrere Generatoren oder Filter verwendet werden, wie z.B. bei deiner Funktion paare. zu 2.) paare ist hier eine Funktion, die keinen Parameter erwartet, daher funktioniert der Aufruf in Hugs bei dir auch nicht. [(Int,Int)] ist der Typ dieser Funktion, und zwar ist es eine Liste, die Paare von Int-Werten enthält. Wenn du bei Hugs nur paare eingibst, erhältst du das Ergebnis der Auswertung der List Comprehension, nämlich alle Paare, deren erster Wert aus der Liste a und deren zweiter Wert aus der Liste b ist. Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Auch wenn es lange her ist wollte ich mich nochmal bedanken. Hatte mir geholfen. | |||||||||||
Zum Seitenanfang | |||||||||||