如何解决如何在不导入模块 Data.Char 的情况下在 Haskell 中使用 toUpper 和 toLower?
所以我试图在没有导入帮助的情况下编写自己的函数,并且我正在努力拥有一个以相同方式工作的函数。
这是我所拥有的。
toLower'' :: [Char]-> [Char]
toLower'' [] = []
toLower'' (x : xs)
| x `elem` ['a' .. 'z'] = toEnum (fromEnum x + 32) : toLower'' xs
| otherwise = x : toLower'' xs
toUpper'' :: [Char] -> [Char]
toUpper'' [] = []
toUpper'' (x : xs)
| x `elem` ['a' .. 'z'] = toEnum (fromEnum x - 32) : toUpper'' xs
| otherwise = x : toUpper'' xs
解决方法
toLower''
匹配小写字符而不是大写字符。 (ToUpper''
有效)。固定:
toLower'' :: [Char]-> [Char]
toLower'' [] = []
toLower'' (x : xs)
| x `elem` ['A' .. 'Z'] = toEnum (fromEnum x + 32) : toLower'' xs
| otherwise = x : toLower'' xs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。