Как я могу заставить Парслета сказать персонажу, который не удался?
У меня есть следующее в Parslet.
'] at line 1 char 27.
| |- Expected "\n", but got "\\" at line 1 char 27.
| `- Expected "\r\n", but got "\\n" at line 1 char 27.
Я немного сбит с толку, так как в исходной строке нет двух косых черт. Чтобы помочь мне отладить, есть ли способ вывести конкретный символ и, желательно, порядковый номер? Или я должен вернуться к исходной строке?
1 ответ
Решение
Похоже, что вы пытаетесь обработать конец строки как "\n" или "\r\n", но ваша входная строка буквально содержит '\' и литерал 'n', что означает, что экранирование в вашей входной строке не правильно,
Это, вероятно, использование "вместо"
например.
irb(main):001:0> "\\n".length
=> 2
irb(main):002:0> "\n".length
=> 1
irb(main):003:0> '\n'.length
=> 2