Buat Template Penurunan Harga untuk Posting Anda

19

Tugas Anda sederhana: Tulis program (atau fungsi) yang tidak membutuhkan input dan output seperti ini:

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

Di mana *name*nama bahasa yang Anda gunakan, *length*adalah jumlah byte dalam kode Anda, dan *code*merupakan kode sumber program Anda. Jika *code*berisi beberapa baris, ini memiliki empat spasi sebelum setiap baris.

Berikut ini contoh implementasi 124-byte dalam 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)))

Outputnya adalah:

## 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)))

Yang dalam penurunan harga adalah:

Python 3, 124 byte

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)))

Ini adalah , jadi jawaban tersingkat (dalam byte) menang.

Buah Esolanging
sumber
3
Saya cukup yakin ini adalah dup, tetapi tidak dapat menemukan yang lama ...
Dada
Terkait
Adnan
1
Saya akan mengatakan ini cukup berbeda dari yang itu karena menghasilkan satu untuk dirinya sendiri. Idenya mirip, tetapi Anda perlu menulis quine untuk yang ini.
Buah Esolanging
Haruskah kita mengasumsikan aturan quine standar (mis. Tidak membuka kode Anda sendiri dan membacanya)?
Gabriel Benamy
@GabrielBenamy Ya.
Buah Esolanging

Jawaban:

8

RProgN 2, 28 Bytes

«"  %s"F"#RProgN 2, 28 Bytes"
ATaco
sumber
2
Seperti ini, ini bukan pesaing serius dan dapat dihapus. Harap berikan jawaban Anda.
Dennis
1
@ Dennis Golfed.
ATaco
2
Bagus! Titik setelah penghitungan byte tampaknya tidak diperlukan, tetapi harus ada empat spasi (atau tab) sebelum kode.
Dennis
5

Underload, 48 byte

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

sumber
Pos persis seperti yang dihasilkan oleh kode. Quine adalah payload-mampu (menempatkan payload setelah S terakhir), sehingga menjadikannya quine sejati dengan satu definisi yang banyak digunakan, tetapi menggunakan string eval (yang mengatakan, string eval adalah satu-satunya cara untuk melakukan loop dalam Underload ; ini cukup mendasar untuk bahasa).
Setelah diskusi dalam Underload quines dalam obrolan, kami memutuskan ini juga quine oleh definisi lain yang banyak digunakan juga; yang :^pada akhir program dikodekan dengan :^sedikit lebih awal, dan dengan demikian salah satu bagian dari program mengkodekan bagian yang berbeda.
2
Anda dapat mendiskusikan i n underload quines? (Cool!:aSS)Cool!:aSS
CalculatorFeline
1
@CalculatorFeline Sayangnya, itu tidak berhasil karena (!).
Buah Esolanging
2

Python 2, 58 byte

_='## Python 2, 58 bytes\n    _=%r;print _%%_';print _%_
Erik the Outgolfer
sumber
Isi posting ini persis seperti yang dicetak oleh kode.
Erik the Outgolfer
1

reticular, 58 byte

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

Cobalah online!

Penjelasan: :cmendorong string char tunggal c. Ini membangun string "## reticular, 58 bytes", mundur karakter demi karakter, membalikkan tumpukan, dan Omengucapkan segala sesuatu, termasuk string yang ditangkap oleh kutipan awal.

Conor O'Brien
sumber
1

CJam, 33 byte

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

Bekerja sangat mirip dengan jawaban Underload.

Jejak tumpukan ( Nmewakili \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>
Buah Esolanging
sumber
1

V, 25 byte

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

(Ini tidak dihitung dalam penurunan harga yang dibuat, karena saya suka memberikan penjelasan untuk kode saya: P)

Berikut adalah hexdump, karena kode sumber berisi karakter yang tidak dapat dicetak / non-ASCII:

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

Jawaban ini hanyalah modifikasi sepele dari quine V extensible standar .

Penjelasan:

ñ                                   " 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
sumber
1

JS, 50 49 27 30 byte

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

Cobalah

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

Shaggy
sumber