向前和向后的杂色藜!


9

你必须做的是在输出一种语言的源代码和它的源代码中的多语种落后于另一个。与正常规则不同,您可以阅读当前文件或使用内置文件来获取提交的源代码并以一种语言反转该源代码。您的源代码不能是回文。

例如,如果您的源代码是abcxyz,则它必须abcxyz以一种语言和zyxcba另一种语言输出。如果您的代码是abcxyzyxbca,则无效,因为它是回文。

祝好运!


3
正常的规则是有原因的。允许使用内置的quine可能会使此挑战变得过于广泛,并且允许回文源源代码允许答案是两种语言的正向quines。
Erik the Outgolfer

现在不允许使用@EriktheOutgolfer回文。
程序员

1
@EriktheOutgolfer啊,所以源代码不能是回文吗?
路易斯·门多

2
我认为您应该为第一个人提供赏金,以完成此挑战而又不违反任何正常的奎因规则。(也许50个代表?)
clismique

1
我读“用一种语言”很明显是不允许两种语言都阅读源代码的情况,但是当前投票最多的答案正是这样做的。您可以编辑以明确是否允许这样做吗?
hvd

Answers:



6

Python 2 / Python 3,71个字节

lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]

不使用任何quine内置函数。

感谢ovs普遍唤醒我。


lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]为71个字节
ovs'Apr

@ovs当然,我怎么没想到呢。
暴民埃里克(Erik the Outgolfer)'17

6

批处理/ bash + tac,39个字节

:;tac -r -s '.\|'$'\n' $0;exit
@type %0

批量输出转发。说明:Batch将第一行视为标签并忽略它,而第二行只是将源文件复制到STDOUT。(请注意,您需要调用包含扩展名的文件,或将其更改%0%~f0。)bash看到四个命令:

  • :什么都不做(与相同true
  • tac -r -s '.\|'$'\n' $0
    • -r看跌期权tac为正则表达式模式
    • -s 指定一个正则表达式
    • '.\|'$'\n' 是正则表达式,由
      • . 除换行符外的任何字符
      • \| 要么
      • $'\n' 换行符
    • 结果是tac将文件拆分为字符而不是行。
  • exit 停止脚本,忽略第四条命令
  • @type %0 (忽略)

我认为您可以用替换第一行:;rev $0|tac;exit。另外,标题应该改为Batch / sh + util-linux + coreutils
Erik the Outgolfer

@EriktheOutgolfer $'\n'是Bashism ,rev $0|tac不能正确反向换行,并且tac包装中的内容真的重要吗?
尼尔

$'\n'在我建议的替代产品中不存在,并且rev $0|tac对我有效。而且我认为最好指定软件包而不是单独的实用程序,因为有时可能会引起混淆(例如,哪个软件包是tac?)。
Egg the Outgolfer

@EriktheOutgolfer 在线尝试!是错的。那么,网上试试吧!(但更巧妙)。
尼尔

你能解释一下吗?
程序员

3

PHP和Retina,2个字节

1个

与Gille的PHP和GolfScript答案相同。

PHP只是读取代码并直接将其输出,Retina将替换输入中空字符串的匹配项,并将其替换为1,并使用换行符输出。


2

JS(ES5),JS(ES6),94个字节

function f(){try{eval("x=(f+'f()').split``.reverse().join``")}catch(e){x=f+"f()"};return x}f()

不使用任何内置的quine。仅使用JS函数将其字符串化为它们的代码这一事实。大概可以打更多的高尔夫球。


1

如果您允许阅读源代码,那么它并不是一个真正的问题。

PHP和sh + util-linux,6个字节

rev $0

我敢肯定,通常的高尔夫语言可以做到2个字节。


他们实际上可以。
ATaco '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.