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.


3
Saya cukup yakin ini adalah dup, tetapi tidak dapat menemukan yang lama ...
— Dada


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"

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

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


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.


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>

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.