标签: parsing haskell refactoring trifecta
将三个连续数字解析成字符串的惯用方法是什么?
以下有效,但无法扩展:
threeDigits :: Parser Int threeDigits = do d1 <- digit d2 <- digit d3 <- digit return (digitToInt d1 * 100 + digitToInt d2 * 10 + digitToInt d3)
更一般地说,如何对N个数字进行缩放?
答案 0 :(得分:1)
使用count。
count
digits :: Int -> Parser Int digits n = read <$> count n digit