Att*_*dor 0 haskell functional-programming character letter alphabet
我想创建一个函数来决定字符是Haskell中字母表中的字母
isLetter :: Char -> Bool
Run Code Online (Sandbox Code Playgroud)
因此结果可能如下所示:如果我输入isLetter 'c',结果将是True,如果是isLetter ' ',那么结果就是False.
Sim*_*ine 11
你可以自己定义这个功能,
isLetter :: Char -> Bool
isLetter 'A' = True
isLetter 'B' = True
...
isLetter 'Z' = True
Run Code Online (Sandbox Code Playgroud)
但小写字母怎么样?什么外文字母一样'ß','ü','?','?'或'Æ'和他们的大写/小写变种?由于Unicode非常复杂,因此对于任何生产级别的使用,您都应该依赖于已经构建的库函数.当你不知道他们叫什么时,去Hoogle并搜索" Char -> Bool",你会经常指向一个包含你想要的库.:-)
例如,文档Data.Char.isAlpha说:
选择字母Unicode字符(小写,大写和标题大小写字母,加上无语脚本和修饰符字母).这个功能相当于
Data.Char.isLetter.
我敢打赌,你没有想到的标题大小写字母,无壳脚本的信件和修改字母!(我没有.)
我甚至不知道修饰字母存在.显然,'?'(声门停止)是加拿大不列颠哥伦比亚省西南部的斯阔米什人使用的一封信.有加拿大道路标志,你的功能没有考虑到!
你会成为那个告诉Ḇøᵇ他无法登机的人吗?!:DJ