Ich bin auf der Suche nach einer Möglichkeit, hex in eine ganze Zahl mit Tail-Rekursion zu ändern. Bis jetzt habe ich nur schreckliche Implementierungen der regulären primitiven Rekursion probiert, und ich bin nicht einmal nahe gekommen. Sehr frustriert. Selbst Beispiele für Tail Recursion werden helfen und sehr geschätzt werden. Ich verstehe es nicht gut genug für diese Implementierung.Haskell: f :: hex String -> Ganzzahl mit Tail Rekursion
Beispiel:
"005" -> 5
"1E" -> 30
Beschränkungen: Kann nicht die Einfuhr verwenden oder wenn, dann, sonst etc, müssen mit Rekursion, wenn möglich oder Endrekursion erfolgen.
Mein Versuch der Rekursion.
hexToInteger :: String -> Integer
|(x:xs) = [] = []
|x == 0 = hexToInteger xs
|otherwise = addition x + hexToInteger xs
addition :: String -> Integer
addition x
|--something to check what position we're dealing with and what hex value.
|--Return the Integer value
Was haben Sie versucht? Ist es eine Hausaufgabe? – Yuras
Bis jetzt habe ich nur schreckliche Implementierungen der regulären primitiven Rekursion ausprobiert, und ich bin nicht einmal nahe gekommen. Sehr frustriert.Sogar Beispiele für Tail-Rekursion werden helfen. Ich verstehe es nicht gut genug für diese Implementierung. Edit: Ich werde dies in der Beschreibung setzen. –
Können Sie eine nicht-tail-rekursive Lösung implementieren? Es könnte ein guter Ausgangspunkt sein. – Yuras