1

3 つの連続した数字を文字列に解析する慣用的な方法は何ですか?

以下は機能しますが、スケーリングしません。

threeDigits :: Parser Int
threeDigits = do
    d1 <- digit
    d2 <- digit
    d3 <- digit
    return (digitToInt d1 * 100 + digitToInt d2 * 10 + digitToInt d3)

より一般的には、これは N 個の数に対してどのようにスケーリングできますか?

4

1 に答える 1

1

を使用しcountます。

digits :: Int -> Parser Int
digits n = read <$> count n digit
于 2017-12-16T07:39:20.290 に答える