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