我正在使用 megaparsec 编写解析器,并希望将十六进制数解析为 Char。
十六进制数解析器应该正好采用两个字符并返回一个具有相同数值的字符。
现在我有这样的东西。
type Parser = Parsec Void String
pByte :: Parser Char
pByte = chr . read . ("0x" ++) <$> count 2 hexDigitChar
我听说使用read
被认为是不好的做法。
是否有一个内置函数可以做类似的事情?
我正在使用 megaparsec 编写解析器,并希望将十六进制数解析为 Char。
十六进制数解析器应该正好采用两个字符并返回一个具有相同数值的字符。
现在我有这样的东西。
type Parser = Parsec Void String
pByte :: Parser Char
pByte = chr . read . ("0x" ++) <$> count 2 hexDigitChar
我听说使用read
被认为是不好的做法。
是否有一个内置函数可以做类似的事情?