www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Viviane

Gepostet:
25.02.2011 23:49

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    
 
Siracusa

Gepostet:
26.02.2011 17:28

   
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    
 
Landei

Gepostet:
26.02.2011 17:57

   
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    
 
Viviane

Gepostet:
26.02.2011 19:31

   
Danke ihr beiden!

Nun klappt es!

Grüße

Viviane
Zum Seitenanfang ICQ