aufgerufen wurde Ich bin gerade dabei, einen Weg zu finden, ein "Telefonbuch" zu schreiben. (Es ist eine Aufgabe von der Universität so dass ich einen Tipp zu schätzen wissen würde lieber als eine vollständige Lösung)Zugriff auf eine Funktion, die
ich eine Funktion erstellt, die den Benutzer ermöglicht, in mehreren Namen zu schreiben, wie folgt:
(Es hatte löst so seine , weil wir type TelephoneBook = String -> String
)
(enterName "Peter" "4232" (enterName "Alice" "23213" emptyBook)) ""
Diese dann Peter
zurückkehren würde verwenden musste.
Nun soll ich in der Lage sein, auf diese Daten zugreifen und nach einem Namen suchen und dann eine Nummer abrufen. Meine aktuelle Idee ist wie folgt:
searchFkt :: String -> TelephoneBook -> String
searchFkt a b
| (a == book "") = a --Iam fully aware that this doesn't work
| otherwise = "not found"
Ich bin mir bewusst, dass der zweite Teil wie das nicht funktioniert (searchFkt :: String -> TelephoneBook -> String
wurde auch gegeben), aber ich habe keine Ahnung, wie dies zu implementieren, und ich brauche wirklich Hilfe , weil ich durch Bücher geschaut habe und versuche, mich stundenlang damit zu beschäftigen, wie ich das lösen kann.
Vielen Dank im Voraus
Ps: Ich will verstehen, wie das funktioniert und nicht nur eine Lösung haben, so vielleicht einen Verweis auf das, was als gut wäre hilfreich zu lesen :)
Warum sollte es "Peter" zurückgeben? –
Was ist der Typ und der Zweck von 'enterName'? Es würde scheinen "enterName :: String -> String -> Telefonbuch -> Telefonbuch", aber dann warum sollten Sie erwarten, den neuen "TelephoneBook" -Wert auf eine leere Zeichenfolge anwenden, um '" Peter "' zurück? – chepner
In dem Beispiel, das wir von einer Konsole gegeben hatten, in der sie die oben gezeigte Eingabe eingaben, gab sie den Namen zurück, also implementierte ich sie wie folgt: 'putName :: String -> String -> Telefonbuch -> Telefonbuch' (dies wurde angegeben) ' putName abc = (\ x -> b) '<- mein code – Fapprentice