Gepostet: |
Von Int in Char konvertieren/Ascii | ||||||||||
Der Titel sagt eigentlich schon alles. Ich will einen Int in einen Char konvertieren, so soll beispielsweise funktion 65 als Ergebnis 'A' ausspucken, also den Asciicode. Laut Literatur und Inet geht das entweder über ToEnum oder über chr. Bei chr 65 sagt er mir "not in Scope", bei toEnum 65 kommt: Ambiguus type variable 'a' in the constraint. 'Enum a' arising from a use of 'toEnum' at <interactive> :1:0-8. Possible fix: Add a type signature that fixes these type variable(s). Mit der Fehlermeldung kann ich nun so gar nichts anfangen, was mache ich falsch bzw. gibt es noch eine andere Möglichkeit, um von Ascii in Chars zu konvertieren? Danke Viviane |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||
Gepostet: |
|||||||||||
Hallo, chr ist in Data.Char definiert, d.h. du musst das Modul vorher importieren. toEnum ist eine sehr allgemeine Funktion, die Ints in beliebige Datentypen der Klasse Enum konvertieren kann. Bei toEnum 65 weiß er nicht welchen Zieltyp du haben willst, wenn du diesen explizit mit toEnum 65 :: Char angibst klappt es. (Letzteres ist im Programm meist nicht nötig, da dort aus dem Kontext klar wird, dass du den Zieltyp Char haben willst.) Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
In welchem Modul eine Funktion definiert ist, oder welche Funktionen es für eine bestimmte Signatur gibt, findest du am besten mit Hoogle: http://www.haskell.org/hoogle/?hoogle Eine Suche nach Int -> Char bringt als erstes Resultat chr in Data.Char |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Danke ihr beiden! Nun klappt es! Grüße Viviane |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||