Ich versuche zu debuggen warum trotz der Kombinationmit try
, Parsec verbraucht den Eingang. Grundsätzlich im folgenden Code, warum ist der zweite Lauf nicht Right "abc"
zurück (was ist, was ich erwarte)?Parsec optionMaybe immer konsumieren Eingabe
Given
myParser = do
optionMaybe $ try (between (char '/') (char '/') $ many1 (noneOf "/")
many1 (noneOf "/")
ich
> parse myParser "" "/abc/def"
Right "def"
> parse myParser "" "/abc"
Left (line 1, column 5):
unexpected end of input
expecting "/"
Ja, ich habe es gerade selbst realisiert. Ein dummer Fehler! Vielen Dank. –