关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
我正在尝试实现一个按字母顺序返回下一个字母的函数。例如:
> 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)
当没有给出字母表中的字母时,两者的行为都不同,但是由于您没有指定在这种情况下应该发生什么,我认为这没问题。
关于haskell - 如何返回在Haskell中包裹的给定字母的字母表中的下一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746646/