我当时想应该有一个功能类似于chr
的函数,但是如果它的参数不是Unicode标量值,则会失败。
我通常以这种方式编写自己的函数:
toUnicode :: Int -> Maybe Char
toUnicode x
-- Ranges from "The Unicode Standard".
-- See definition D76 in Section 3.9, Unicode Encoding Forms.
| x >= 0 && x <= 0xD7FF = Just (chr x)
| x >= 0xE000 && x <= 0x10FFFF = Just (chr x)
| otherwise = Nothing
但是如果有更好的方法可以做到这一点。
答案 0 :(得分:1)
这是您要做的事情,您可以创建一个添加模块,例如Data.Char.Adds
并在需要时导入。看来目前还不存在。我看不到其他解决方法。