为什么 Atom 片段需要在其正文中同时使用四个反斜杠才能打印一个反斜杠



我在设置片段时才意识到这一点。

'.source':
'shrug':
'prefix': 'shrug'
'body': '¯\\_(ツ)_/¯'

为了打印典型的¯_(ツ)_/¯耸耸肩,您需要 4 个反斜杠。使用 2 个反斜杠不会导致任何错误,但不会打印反斜杠。如果你为什么需要 2,但为什么需要 4,我会理解它?

原子片段中的四个反斜杠是由于使用通用CSON表示法(Coffeescript样式JSON(的片段造成的。

在此评论中对原子片段存储库中的问题进行了很好的描述

我认为四个反斜杠是有意义的,但符号上 不便。

它与片段所经历的解释水平有关 在它最终进入文本缓冲区之前:

  1. 代码段在CSON文件中声明,字符串元素的解析 这种格式是"反斜杠敏感",即表示换行符 字符和 \ 表示为 。
  2. 然后,代码段必须是 由代码段正文分析器解析。解析器使用一个 \ 来转义 后面的字符,例如 \ 变为 。所以这个过程如下:

    \ --CSON--> \ --BodyParser--> \

两个反斜杠曾经起作用的原因是因为代码段正文 解析器从未真正处理过转义字符(转义案例是 显式处理而不是以通用方式处理(这就是为什么我们有 错误 #60。

如果片段 以自定义格式存储。然后我们将拥有更多的控制权 如何解析,例如在反斜杠之前不解释反斜杠 被送入正文解析器。

相关内容

  • 没有找到相关文章

最新更新