Escreva um programa que produza seu próprio código-fonte quando executado, e nada mais. Parece fácil, certo?
O problema é que, quando o código-fonte é revertido, seu programa deve gerar "Olá, mundo!" exatamente, sem as aspas.
Isso é código-golfe, então a contagem de bytes mais baixa vence.
Edit : Seu quine deve ser um quine adequado.
code-golf
quine
source-layout
hello-world
ericw31415
fonte
fonte
Respostas:
Y, 19 bytes
U
captura uma sequência comU
no início até a próximaU
, nesse caso, o código fonte.p
imprime o item ex
é um link de término. Quando invertido, isso se parece com:Isso captura a string e a imprime
p
, terminando novamente o programa comx
.Experimente aqui!
fonte
U
empurraU
implicitamente? # 3U
comando é o "comando de captura de link em cadeia". Não é feito para cunhar, mas isso não me impede de usá-lo para cunhar. : PU...
apenas codifiqueU...
.p
bit fez a saída, que fazia parte da codificação.p
ex
não conta. Por exemplo, a menor SMBF quine ainda é considerada uma trapaça, mesmo que o código precise imprimi-la. Pode valer a pena pedir esclarecimentos a Martin.JavaScript (ES6),
4238 bytesInvertida
Explicação
Quando revertida, torna-se uma função anônima que retorna a string
Hello, World!
.A regex
/\//g
se torna um comentário quando é revertida, o que permite que os sintaticamente inválidos>=_=f
sejam comentados no código revertido.fonte
=_=
.JavaScript (ES6), 71 bytes
Como funciona:
A linha 1 define a função
trela
que, quando executada, gera o código fonte do programa. A linha 2 é uma sequência não atribuída, não faz nada. Chamadas de linhas 3 e 4trela
abuso da sintaxe da seqüência de caracteres do modelo.Invertida:
Como funciona:
A linha 1 é uma sequência não atribuída, não faz nada. As linhas 2 e 3 abusam da sintaxe da sequência de modelo a ser impressa
Hello, World!
. A linha 4 é um comentário.fonte
``
desnecessário?trela
função (que imprime a Quine) na versão para a frente``
era o argumento. Legal.trela
por aqui ...> _>GolfScript, 33 bytes
Atacantes
Experimente online!
Para trás
Experimente online!
fonte
GolfScript,
2928 bytesEle tem uma nova linha à direita. Experimente aqui.
Invertida:
Experimente aqui.
fonte
RETURN , 94 bytes
Invertida:
Try it here.
Saídas para STDOUT. Até encontrar uma estrutura melhor para o quine, isso terá que ser feito por enquanto.
Explicação
Contém a sequência quine. Ao contrário, isso é enviado para a pilha, mas não é emitido.
Isso envia um caractere de cotação para a pilha e gera o resultado duas vezes até que não haja mais nada a ser produzido. Ao contrário, isso imprimirá os códigos de código já na pilha.
Esse aparece o item da pilha superior (ao contrário, isso mostraria um caractere de espaço) e envia uma série de códigos para a pilha (no sentido inverso, esses códigos seriam posteriormente impressos pelas séries de
,
).fonte
Fissão 2, 42 bytes
Adaptação desavergonhada de um excelente quine por @ MartinBüttner nesta resposta
Experimente online
E invertido
Experimente online
Na versão quine, o átomo começa no
R
cabeçalho à direita. O"
modo de impressão inicia, que passa para o próximo"
(ele próprio). Isso imprime tudo, exceto o"
.'!+
defina o átomo para char"
.O
imprime e destrói o átomo que encerra o programa.A versão invertida inicia
R
novamente e para cada caractere noHello, World
conjunto do átomo e o imprime!
sem destruir o átomo. Para o caractere final,!
a impressãoO
destrói o átomo.fonte
Javascript ES6, 55 bytes
Muito simples, realmente.
fonte
Python 2, 131 bytes
Frente:
Marcha ré:
A primeira metade é um quine de uma linha, seguido de a
#
para formar um comentário que separa a primeira metade da segunda metade mais simples.fonte
_='_=%r;print _%%_#"!dlroW ,olleH"tnirp';print _%_#"!dlroW ,olleH"tnirp
C, 108 bytes
fonte
Python 2, 70 bytes
fonte