addMod26 a b = (a + b) `mod` 26
char2Int c = ord c - (ord 'a')
int2Char i = chr (i + (ord 'a'))
addChar a b = int2Char ((addMod26 `on` char2Int) a b)
Dieser Code versuchen add
Operation auf char
zu implementieren. Es funktioniert gut. Aber die Funktion addChar
ist zu redundant. Wie vereinfacht man es?Wie funktioniert die Funktion in Haskell?
versuchen, wie dieser Es ist falsch
addChar = int2Char . (addMod26 `on` char2Int)
zu schreiben. (.) :: (b -> c) -> (a -> b) -> a -> c
kann nicht akzeptieren, da es das erste Argument ist.
keine gute Idee oder Anregung?
Danke! Ich habe eine Funktion wie '.:' Mit diesem Stil '(. :) f g a b = f (g a b)' hinzugefügt, aber Ihre Lösung ist besser und '.:' Ist lebendig. – liuyang1