Frage zur Klausr

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Frage zur Klausr
08 Probe-Klausur - Aufgabe 8 b:

Wobei man ++ und eigene Funktionen anscheinend nicht verwenden darf:

Ich finde aber nur eine Lösung und zwar indem ich die Funktion concat aus der Aufg. 8 a verwende:

myReverse [] = []
myReverse (x:[]) = [x]
myReverse (x:xs) = (myConcat (myReverse xs) [x])

Darf man also immer eigene Unterfunktionen verwenden, auch wenn es nicht explizit dasteht?


kurze antwort : ja

begruendung: du darfst dir immer selber eigene hilfsfunktionen schrieben, sofern die nicht mehr nutzen an erlaubtem was schon vorgegeben is
dazu zaehlt selbstverstaendlich auch schonmal vorher definierte funktionen zu nutzen.
kansnt du dir auch nochmal offiziell holen wenn du willst. oder du glaubst mir einfach :wink:


Mir ist jetzt spontan auch kein anderer Weg eingefallen, als mir eine Hilfsfunktion zu schreiben. Ist das überhaupt ohne möglich?


@nebelwerfer: ok danke! Finde aber komisch, dass sie extra hinschreiben ob man man Lambda-Ausdrücke benutzen darf, was ja auch Funktionen sind. Aber mit let oder where eigene Variablen definieren darf man wahrscheinlich nicht, oder?
@Das F: Hab´s lange probiert und es geht mit Sicherheit nicht.


reverse = foldl (flip (:)) []

€: haha ok, erstma lesen, dann ueberlegen, dann posten…sry