vorherige Seite | 1 2 |
Gepostet: |
|||||||||||
Bei welchen Zeichen kommt bei Dir eigentlich "Bockmist" raus? Bei mir funktioniert deine Funktion! Fragezeichen, Unterstrich, Prozentzeichen, Ausrufezeichen, alles wird richtig angezeigt! | |||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Gib als eingabe mal "String" ein, dann weiß er nicht was er mit dem S am Anfang anstellen soll, denn das ist ja schon groß. Grüße Viviane |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||
Gepostet: |
|||||||||||
Bei mir gibt er das komplette Wort in Großbuchstaben aus! Bei allen drei Varianten die wir jetzt haben! Im Grunde sind sie ja auch alle gleich! Ich benutze übrigens die Haskell Plattform 2010.2.0.0 | |||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Probier mal den: capitalize''' :: [Char] -> [Char] capitalize''' xs = [if isAlpha a && isLower a then toUpper a else a | a <- xs] |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Warte mal......hm an sich müsst ich jetzt meckern wart mal dann geh ich selbst nochmal drüber.....ich kann da ne if-then-else -Abfrage vorne reinbauen? Das wollte ich doch die ganze Zeit wissen, ich wusste nich wo ich die Fallunterscheidungen machen soll, danke! |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||
Gepostet: |
|||||||||||
So. Bin endlich mal dazu gekommen isAlpha und isLower kennt mein ghci nicht, hast Du die Dir selbst geschrieben? Habe es dann wie folgt probiert: capitalize''' :: [Char] -> [Char] capitalize''' xs = [if fromEnum 'a'>=97 && fromEnum 'a' <= 122 then toUpper a else a | a <- xs] Das funktioniert auch insoweit als das Programm läuft allerdings liefert capitalize''' "String" als Ausgabe "3TRING", offenbar kann kann er also mit dem Großbuchstaben nicht umgehen bzw. interpretiert die else-Anweisung falsch. Woran kann das liegen? Grüße Viviane edit: Gefunden was isAlpha usw. machen, verstehe nur jetzt nicht warum mein Interpreter das mit "not in scope" kommentiert der müsste das doch kennen? |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||
Gepostet: |
|||||||||||
Um diese Methoden nutzen zu können, musst du das Modul Char importieren. Das machst du, indem du am Anfang deiner Datei in der ersten Zeile import Char schreibst! In deiner Methode würde ich auch die einfachen Anführungszeichen weglassen, du fragst nämlich meiner Meinung nach ob der Kleinbuchstabe a innerhalb des Ascii-Intervals liegt und nicht nach dem, was in der Variable a drin ist! Deine Abfrage ist somit immer wahr! Grüße domjoe |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Und woher kommt bei Deiner Methode capitalize''' :: [Char] -> [Char] capitalize''' xs = [if isAlpha a && isLower a then toUpper a else a | a <- xs] auf einmal das a? Wenn Du doch mit xs anfängst? |
|||||||||||
Zum Seitenanfang | ICQ | ||||||||||
Gepostet: |
|||||||||||
Schau Dir hierzu mal folgende Seite an: http://learnyouahaskell.com/starting-out#im-a-list-comprehension Das \'a\' ist ja nur jeweils ein Element aus xs, welches Du gesondert behandeln kannst! |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Leute, bei mir funktioniert ein schlichtes
ohne Probleme, z.B.
|
|||||||||||
Zum Seitenanfang | |||||||||||
vorherige Seite | 1 2 |