Я новичок в Haskell и Parsec. Я хочу разобрать php-serialize формат строки: numb: "string"; какКак читать точные N символов с Parsec?
s: 12: "123"; 6789012" ;
, где число подсчет символов Таким образом, функция выглядит следующим образом:
newtype PhpString = PhpString String
pString :: GenParser Char st PhpString
pString = do { string "s:"
; value1 <- many1 digit
; string ":\""
; value2 <- takeExactNChars (read value1)
; string "\";"
; return $ PhpString value2
}
where
takeExactNChars n = ???????
Parsec имеет комбинатор под названием 'count', который выполняет именно это. Это эквивалентно 'replicateM'. – Sarah
@ Сара хорошая, я не знал об этом. –
@all: большое спасибо! – viorior