从所有尝试(除了使用ZWSPs作弊)中可以看出,您不能在`\中键入堆栈交换聊天。但是,您可以通过执行\`来键入`\\``。
因此,如果您想告诉聊天中的人如何键入反斜杠-反勾号,则需要键入`\`\\`\``将`\\``格式化为代码块。
您的挑战将是获取一串反向代码和反斜杠,并输出一串反斜杠和反斜杠,当您将其输入SE chat时,这些反斜杠和反斜杠将被格式化(作为代码块)。您可以在聊天沙箱中测试这一点。
需要注意的一点是,反斜杠阻止下一个反斜杠启动或结束代码块,但反斜杠实际上不会使下一个反斜杠不能转义--基本上,三个反斜杠和一个反斜杠将变成两个文字反斜杠和一个文字反斜杠,后者将不再充当代码块分隔符。
因此,解决这一难题的一种方法是将每个反斜杠块(包括连续的反斜杠之间的零长度反斜杠)添加到每个反斜杠中,然后用反斜杠包围字符串。
您可以假设这是可能的;也就是说,输入不会以反斜杠结尾。您也不需要处理空输入。
输入和输出将作为反划线和反斜杠的字符串提供。对于这个挑战,您必须特别使用这些字符。您可以将输入或输出作为一个单一的字符列表,并且输入和输出不必使用相同的格式。
这些测试用例遵循我的示例解决方案。我不知道是否存在另一种解决方案,但如果您能够找到一种适用于SE chat的替代方案,而不仅仅是上述方法,我可能会提供奖励。
\` => `\\``
`\\`\`\\`` => `\`\\\`\\`\\\`\``
`\`\\\`\\`\\\`\`` => `\`\\`\\\\`\\\`\\\\`\\`\``
`````` => `\`\`\`\`\`\``=>‘\
=>``
\\\\\\\\\\\ \` =>
Python中的参考实施;您可以输入任意多行,并且它将使用我的方法为每个行打印一个有效的答案。
标准漏洞和往常一样是不允许的。
这是一个密码-高尔夫挑战,因此每种语言以字节表示的最短代码在其语言类别中获胜。高尔夫快乐!
发布于 2021-06-22 17:42:15
RP``.q嗯..。嗯,这很有趣。
就这样,Pip的模式类型(用于regex)是用backticks分隔的。反斜杠可以在一个模式中转义。
..。而且,用于生成模式的Pip 瑞尔的代码显然是不正确,因为它也应该转义反斜杠,但实际上它只是转义反斜杠。这正是这个问题所要求的行为。
“这不是一个bug,它是一个特性”?¯\_(ツ)_/
q Read a line of stdin
``. Cast it to a Pattern by concatenating an empty Pattern to it
RP Get the repr好吧,我又看了一遍,我觉得这其实不是个窃听器。我之所以认为这是一个bug,是因为一些输入不可能作为模式文本输入。由于它们是“不可能”的模式,因此它们的reprs不能正确地表示模式文字。
Input Repr Comment
` `\`` Properly formed: backtick is escaped with a backslash
\\` `\\\`` Properly formed: backslash is also escaped with a backslash
\` `\\`` Improperly formed: first backtick is not escaped您不能在Pip中输入\`的正则表达式,因为\`不是一个格式正确的正则表达式。(如果您想要一个与字符串\`匹配的正则表达式,则应该使用\\`,它被输入为`\\\``。像泥一样干净?太棒了。
总之,只有偶数长度反斜杠的输入输出格式良好的reprs,但是如果有奇怪的反斜杠运行,则所有的下注都会停止。
https://codegolf.stackexchange.com/questions/230314
复制相似问题