Você deve criar um poliglota que emita seu código-fonte em um idioma e seu código-fonte para trás em outro. Diferentemente das regras normais, você tem permissão para ler o arquivo atual ou usar um built-in para obter o código-fonte do seu envio e reverter isso em um idioma. Seu código-fonte não pode ser um palíndromo.
Por exemplo, se o seu código-fonte for abcxyz
, ele deve ser impresso abcxyz
em um idioma e zyxcba
em outro. Se o seu código for abcxyzyxbca
inválido, porque é um palíndromo.
Boa sorte!
Respostas:
PHP e GolfScript, 2 bytes
ou seja, uma nova linha e o dígito 1.
Este é um quine reverso no GolfScript , contribuído neste site por Justin . O PHP não acionou que seja uma linguagem de programação, portanto imprime sua entrada.
fonte
Python 2 / Python 3, 71 bytes
Não usa nenhum built-in quine.
Obrigado aos ovs por me despertarem em geral.
fonte
lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]
para 71 bytesLote / bash + tac, 39 bytes
Saídas para a frente em lote. Explicação: O lote vê a primeira linha como um rótulo e a ignora, enquanto a segunda linha simplesmente copia o arquivo de origem para STDOUT. (Observe que você precisa chamar o arquivo, incluindo a extensão ou alterar
%0
para%~f0
.)bash
Vê quatro comandos::
não faz nada (o mesmo quetrue
)tac -r -s '.\|'$'\n' $0
-r
colocatac
no modo regex-s
especifica uma regex'.\|'$'\n'
é o regex, composto por.
qualquer caractere, exceto nova linha\|
ou$'\n'
uma nova linhatac
divide o arquivo em caracteres e não em linhas.exit
para o script, ignorando o quarto comando@type %0
(ignorado)fonte
:;rev $0|tac;exit
. Além disso, o cabeçalho deve dizer Batch / sh + util-linux + coreutils .$'\n'
é um Bashism,rev $0|tac
não inverte novas linhas corretamente e realmente importa o quetac
vem em um pacote?$'\n'
não existe na substituição que sugeri erev $0|tac
funciona para mim. E acho que é melhor especificar os pacotes em vez dos utilitários individuais, porque às vezes pode surgir confusão (por exemplo, quais pacotestac
?).PHP e Retina, 2 bytes
O mesmo que a resposta PHP & GolfScript de Gille.
O PHP apenas lê o código e o produz diretamente, o Retina substitui as correspondências de uma string vazia na entrada e a substitui por 1, e a produz por uma nova linha.
fonte
JS (ES5), JS (ES6), 94 bytes
Não usa nenhum built-in quine. Apenas usa o fato de que as funções JS restringem seu código. Provavelmente pode ser jogado mais.
fonte
Se você permitir a leitura do código fonte, não é realmente uma solução.
PHP & sh + util-linux, 6 bytes
Tenho certeza de que os idiomas usuais de golfe podem fazê-lo em 2 bytes.
fonte