Ein weiteres Stilproblem, das ich noch nicht erwähnt habe, ist eine Funktion
%Vor%entspricht einfach
%Vor% Ich bin neu bei Haskell, es tut mir leid, wenn das unglaublich offensichtlich ist ...
Ich habe die folgende Funktion (die hier als Beispiel verwendet wird, um nach mehreren value==something || value==somethingElse
checks zu fragen) gemacht, um zu überprüfen, ob ein Zeichen eine Zahl ist:
Sicherlich muss es eine nette Möglichkeit geben, Funktionen wie die obige zu schreiben, also müssen Sie || x ==
nicht so oft wiederholen?
Vielen Dank im Voraus für Ihre Hilfe:)
(Wenn es relevant ist: Ich benutze Umarmungen als der Dolmetscher.)
In diesem Fall können Sie elem
aus dem Prelude verwenden:
(Denken Sie daran, dass Strings Charts-Listen sind)
Oder Sie können isDigit
von Data.Char
: -)
Ja, es gibt eine nette Möglichkeit, fast jedes sich wiederholende Muster zu schreiben. Hier ist, wie man es für dieses ableiten kann. Beginnen Sie mit der Liste der Zeichen (ich mache nur kurz 0-4)
%Vor%Ordnen Sie die Vergleiche zu:
%Vor% Dann benutze foldr
. foldr f z
wird am besten als eine Funktion beschrieben, die eine Liste übernimmt und :
durch f
und []
durch z
ersetzt.
Und da hast du es. foldr
ist eine Art der Urvater der Listenfunktionen, also ist dies der "niedrigste Level" Weg, es ohne explizite Rekursion zu tun. Hier sind zwei weitere Schreibweisen für Ihr Vokabular:
Wenn ich die gebräuchlichste "idiomatische" Schreibweise erraten müsste, wäre wahrscheinlich diese Variante des ersten:
%Vor%Sobald Sie sich mit den praktischen Funktionen des Preludes vertraut gemacht haben, ist das Schreiben eines solchen Codes eine freudige Brise: -)
Ein weiteres Stilproblem, das ich noch nicht erwähnt habe, ist eine Funktion
%Vor%entspricht einfach
%Vor%In diesem Fall können Sie %code% aus dem Prelude verwenden:
%Vor%(Denken Sie daran, dass Strings Charts-Listen sind)
Oder Sie können %code% von %code% : -)
verwendenJa, es gibt eine nette Möglichkeit, fast jedes sich wiederholende Muster zu schreiben. Hier ist, wie man es für dieses ableiten kann. Beginnen Sie mit der Liste der Zeichen (ich mache nur kurz 0-4)
%Vor%Ordnen Sie die Vergleiche zu:
%Vor%Dann benutze %code% . %code% wird am besten als eine Funktion beschrieben, die eine Liste übernimmt und %code% durch %code% und %code% durch %code% ersetzt.
%Vor%Und da hast du es. %code% ist eine Art der Urvater der Listenfunktionen, also ist dies der "niedrigste Level" Weg, es ohne explizite Rekursion zu tun. Hier sind zwei weitere Schreibweisen für Ihr Vokabular:
%Vor%Wenn ich die gebräuchlichste "idiomatische" Schreibweise erraten müsste, wäre wahrscheinlich diese Variante des ersten:
%Vor%Sobald Sie sich mit den praktischen Funktionen des Preludes vertraut gemacht haben, ist das Schreiben eines solchen Codes eine freudige Brise: -)
Ich bin neu bei Haskell, es tut mir leid, wenn das unglaublich offensichtlich ist ...
Ich habe die folgende Funktion (die hier als Beispiel verwendet wird, um nach mehreren %code% checks zu fragen) gemacht, um zu überprüfen, ob ein Zeichen eine Zahl ist:
Sicherlich muss es eine nette Möglichkeit geben, Funktionen wie die obige zu schreiben, also müssen Sie %code% nicht so oft wiederholen?
Vielen Dank im Voraus für Ihre Hilfe:)
(Wenn es relevant ist: Ich benutze Umarmungen als der Dolmetscher.)