나는 이것에 대한 간단한 대답이 확실하다고 확신하지만, 나는 하루 종일 이것을보고 있었고 나는 그것을 알 수 없다.FParsec 연결자가 파서 까지 파서를 <char,_>으로 바꿉니 까?
튜토리얼에 따라 JSON 파서를 구현하고 있습니다. 자신에게 도전하기 위해 나는 number
파서를 직접 구현하고있다.
이것은 내가 지금까지 무엇을 가지고 있습니다 :
let jnumber =
let neg = stringReturn "-" -1 <|> preturn 1
let digit = satisfy (isDigit)
let digit19 = satisfy (fun c -> isDigit c && c <> '0')
let digits = many1 digit
let ``int`` =
digit
<|> (many1Satisfy2 (fun c -> isDigit c && c <> '0') isDigit)
문제는 int
에 대한 두 번째 옵션은 Parser<string,_>
반면 digit
가하는 Parser<char,_>
것입니다. 일반적으로 digit
을 Parser<char,_>
으로 바꾸기 위해 연결자를 사용합니까, 아니면 내가해야 할 일이 있습니까?
허, 나는 그것을 시도했다고 생각합니다. 고마워요. –
그리고 그래, 그게 내가 지금하고있는 일이야. –