J'essaye de déboguer pourquoi malgré la combinaison optionMaybe
avec try
, parsec consomme l'entrée. Fondamentalement dans le code ci-dessous, pourquoi la deuxième exécution ne retourne pas Right "abc"
(ce qui est ce que je m'attends)?L'option Parsec Peut toujours consommer l'entrée
Compte tenu
myParser = do
optionMaybe $ try (between (char '/') (char '/') $ many1 (noneOf "/")
many1 (noneOf "/")
Je reçois
> parse myParser "" "/abc/def"
Right "def"
> parse myParser "" "/abc"
Left (line 1, column 5):
unexpected end of input
expecting "/"
Oui, je viens de le réaliser moi-même. Une erreur stupide! Merci. –