Gere um modelo de remarcação para sua postagem

19

Sua tarefa é simples: escreva um programa (ou função) que não aceite nenhuma entrada e exiba algo como isto:

## *name*, *length* bytes
    *code*

Onde *name*está o nome do idioma que você está usando, *length*o número de bytes no seu código e *code*o código-fonte do seu programa. Se *code*contiver várias linhas, ele terá quatro espaços antes de cada linha.

Aqui está um exemplo de implementação de 124 bytes no Python 3:

s = "## Python 3, 124 bytes{2}    s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))"
print(s.format(s,chr(34),chr(10)))

A saída é:

## Python 3, 124 bytes
    s = "## Python 3, 124 bytes{2}    s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))"
    print(s.format(s,chr(34),chr(10)))

Que no Markdown é:

Python 3, 124 bytes

s = "## Python 3, 124 bytes{2}    s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))"
print(s.format(s,chr(34),chr(10)))

Isso é , então a resposta mais curta (em bytes) vence.

Esolanging Fruit
fonte
3
Tenho certeza de que este é um dup, mas não consegue encontrar o velho ...
Dada
Relacionado
Adnan
11
Eu diria que isso é diferente o suficiente, porque está gerando um para si. A idéia é semelhante, mas você precisa escrever um quine para este.
Esolanging Fruit 6/11/11
Devemos assumir regras padrão de quine (por exemplo, sem abrir seu próprio código e lê-lo)?
Gabriel Benamy 6/11/16
@GabrielBenamy Yes.
Esolanging Fruit 6/11/11

Respostas:

8

RProgN 2, 28 bytes

«"  %s"F"#RProgN 2, 28 Bytes"
ATaco
fonte
2
Como é, esse não é um candidato sério e está sujeito a exclusão. Golf sua resposta.
Dennis
11
@Dennis Golfed.
ATaco 5/07
2
Agradável! O ponto após a contagem de bytes não parece ser necessário, mas deve haver quatro espaços (ou uma guia) antes do código.
Dennis
5

Subcarga, 48 bytes

(#Underload, 48 bytes
)(~:S(    ):S*aSaS(:^)S):^

fonte
A postagem é exatamente como produzida pelo código. O quine é capaz de carga útil (coloque a carga após o S ​​final), tornando-o um quine verdadeiro por uma definição amplamente usada, mas usa uma string eval (que disse que string eval é a única maneira de fazer um loop no Underload ; é bastante fundamental para o idioma).
Após uma discussão no Underload quines no chat, decidimos que também é um quine pelas outras definições amplamente usadas; o :^no final do programa é codificado :^um pouco antes e, portanto, uma parte do programa codifica uma parte diferente.
2
Você pode discutir i n subcarga quines? (Cool!:aSS)Cool!:aSS
CalculatorFeline
11
@CalculatorFeline Infelizmente, isso não funciona por causa do (!).
Esolanging Fruit
2

Python 2, 58 bytes

_='## Python 2, 58 bytes\n    _=%r;print _%%_';print _%_
Erik, o Outgolfer
fonte
O conteúdo desta postagem é exatamente como impresso pelo código.
Erik the Outgolfer
1

reticular, 58 bytes

"'34'c: 4*91+c:s:e:t:y:b: 85: :,:r:a:l:u:c:i:t:e:r: :#dqO;

Experimente online!

Explicação: :cenvia a string de caractere único c. Isso cria a sequência "## reticular, 58 bytes", caractere a caractere para trás, inverte a pilha e Outiliza tudo, incluindo a sequência capturada pela cotação inicial.

Conor O'Brien
fonte
1

CJam, 33 bytes

{"## CJam, 33 bytes"N@S4*\"_~"}_~

Funciona muito como a resposta Underload.

Rastreio de pilha ( Nrepresenta \n)

{"## CJam, 33 bytes"N@S4*\"_~"}
{"## CJam, 33 bytes"N@S4*\"_~"} {"## CJam, 33 bytes"N@S4*\"_~"}
{"## CJam, 33 bytes"N@S4*\"_~"} "## CJam, 33 bytes"
{"## CJam, 33 bytes"N@S4*\"_~"} "## CJam, 33 bytes" N
"## CJam, 33 bytes" N {"## CJam, 33 bytes"N@S4*\"_~"}
"## CJam, 33 bytes" N {"## CJam, 33 bytes"N@S4*\"_~"} " "
"## CJam, 33 bytes" N {"## CJam, 33 bytes"N@S4*\"_~"} " " 4
"## CJam, 33 bytes" N {"## CJam, 33 bytes"N@S4*\"_~"} "    "
"## CJam, 33 bytes" N "    " {"## CJam, 33 bytes"N@S4*\"_~"}
"## CJam, 33 bytes" N "    " {"## CJam, 33 bytes"N@S4*\"_~"} "_~"
<implicit output>
Esolanging Fruit
fonte
1

V, 25 bytes

ñi#V, 25 bytes<esc>o´ Ñ<esc>~"qpx

(Isso não é contabilizado na remarcação gerada, porque eu gosto de fornecer explicações para o meu código: P)

Aqui está um hexdump, pois o código fonte contém caracteres imprimíveis / não ASCII:

00000000: f169 2356 2c20 3235 2062 7974 6573 1b6f  .i#V, 25 bytes.o
00000010: b420 d11b 7e22 7170 78                   . ..~"qpx

Esta resposta é apenas uma modificação trivial do padrão V extensível .

Explicação:

ñ                                   " Run the following code one time, storing it in
                                    " register 'q'
 i                                  "   Enter insert mode
  #V, 25 bytes<esc>                 "   And insert the header
                   o                "   Open up a newline, and enter insert mode again
                    ´ Ñ             "   Enter four spaces, then a 'Ñ' character.
                                    "   (The reason we insert it uppercase, is because
                                    "   lowercase would end the loop now)
                       <esc>        "   Return to normal mode
                            ~       "   Toggle the case of the char under the cursor ('Ñ')
                             "qp    "   Paste the contents of register 'q' (this is the
                                    "   same as the entire program minus the initial 'ñ',
                                    "   followed by a 'ÿ' character because V is weird)
                                x   "   Delete the last character (the ÿ)
DJMcMayhem
fonte
1

JS, 50 49 27 30 bytes

f=_=>`#JS, 30 bytes\n    f=`+f

Tente

f=_=>`#JS, 30 bytes\n    f=`+f
console.log(f())

Shaggy
fonte