0
我試圖實現一個函數,按字母順序返回下一個字母。例如:如何返回給定的字母在Haskell中包裝的字母表中的下一個字母
> returnNext 'A'
'B'
但也:
> returnNext 'Z'
'A'
函數應從而按字母順序排列字符碼之間循環(MOD 26)。
我試圖實現一個函數,按字母順序返回下一個字母。例如:如何返回給定的字母在Haskell中包裝的字母表中的下一個字母
> returnNext 'A'
'B'
但也:
> returnNext 'Z'
'A'
函數應從而按字母順序排列字符碼之間循環(MOD 26)。
兩種方式浮現在腦海
import Data.Char
returnNext c = chr (((1 + ord c - ord 'A') `mod` 26) + ord 'A')
這是一種醜惡的,至少可以說。
和:
returnNext 'Z' = 'A'
returnNext c = chr (ord c + 1)
兩種不同的表現沒有給出一個字母的時候,但因爲你沒有指定在這種情況下會發生什麼,我會以爲這是確定。
非常感謝:)。 – user3094936
從http://stackoverflow.com/questions/3261236/how-to-get-ascii-value-of-character-in-haskell開始,然後弄清楚如何使用換行來增加*數字*。 –
你有什麼嘗試?您似乎已經知道該怎麼做,但我沒有看到任何代碼。 – bheklilr