我如何让 Parslet 告诉失败的字符?

How do I get Parslet to tell the the char that failed?

我在 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.

我对此有点困惑,因为原始字符串中没有两个斜杠。为了帮助我调试,有没有一种方法可以输出特定的字符,最好也输出序号?还是我必须参考原始字符串?

看起来您正在尝试处理行尾为“\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