Повысьте ParseError в Haskell/Parsec

Оба в порядке, но помнят, что иногда доступ к Итератору непосредственно полезен (такой, как будто Вы удаляете элементы, которые соответствуют определенному условию - Вы получите ConcurrentModificationException, если Вы сделаете collection.remove (o) в для (T o: набор) цикл).

я предпочитаю писать для (вздор: вздор) [foreach] синтаксис почти все время, потому что это кажется более естественно читаемым мне. Понятие итераторов в целом действительно не имеет параллелей за пределами программирования

6
задан finnsson 18 November 2009 в 22:27
поделиться

1 ответ

Для этого можно использовать Text.ParserCombinators.Parsec.Prim.unexpected и Control.Monad.fail . Оба принимают аргумент String , обозначающий сообщение об ошибке, и возвращают (в данном случае) значение типа GenParser tok st a .

Подробнее см. Text. ParserCombinators.Parsec.Error , в частности Сообщение . Здесь вы можете прочитать, какую функцию использовать в каком случае (хотя обе означают ошибку синтаксического анализа, они семантически немного отличаются).

5
ответ дан 17 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: