是否有一个类似于chr的函数,但是如果其参数不是Unicode标量值,则该函数会失败?

时间:2018-07-21 16:04:44

标签: haskell unicode

我当时想应该有一个功能类似于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

但是如果有更好的方法可以做到这一点。

1 个答案:

答案 0 :(得分:1)

这是您要做的事情,您可以创建一个添加模块,例如Data.Char.Adds并在需要时导入。看来目前还不存在。我看不到其他解决方法。