Haskell:Int to Char

 炽热冰菊66 发布于 2023-02-09 14:19

我正在使用该函数fromEnum将字符转换为其对应的ASCII Int.例如:

fromEnum 'A'

返回65.

现在,假设我有一个功能:

(fromEnum 'A')+1

然后想将返回值(66)转换为"B"的Char.这样做的最佳方法是什么?

谢谢!

1 个回答
  • 您可以使用ord :: Char -> Intchr :: Int -> Char功能Data.Char.

    > chr (ord 'a' + 1)
    'b'
    

    但是不要忘记import Data.Char在源文件或:m +Data.Charghci中.

    同样的事情:fromEnum :: Enum a => a -> InttoEnum :: Enum a => Int -> a:

    toEnum (fromEnum 'a' + 1) :: Char
    

    这个表达式的最后一部分说haskell我们期望什么类型帮助类型系统推断正确的类型.但在这种情况下,我们可以放弃:: Char:

    isLower $ toEnum  (fromEnum 'a' + 1)
    

    因为isLower有类型Char -> Bool.因此,期待toEnum (fromEnum 'a' + 1)Char.

    无论如何,bheklilr的解决方案已经足够了:)我只是想向您展示解决问题的几种方法.

    2023-02-09 14:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有