Tulis program yang akan menampilkan kode sumbernya sendiri ketika dijalankan, dan tidak ada yang lain. Tampaknya mudah, bukan?
Tangkapannya adalah bahwa ketika kode sumber dibalik, program Anda harus menampilkan "Halo, Dunia!" tepatnya, tanpa tanda kutip.
Ini adalah kode-golf, sehingga jumlah byte terendah menang.
Sunting : Quine Anda harus quine yang tepat.
code-golf
quine
source-layout
hello-world
ericw31415
sumber
sumber
Jawaban:
Y, 19 byte
U
menangkap string denganU
di awal hingga yang berikutnyaU
terpenuhi, dalam hal ini, kode sumber.p
mencetak item, danx
merupakan tautan terminasi. Ketika dibalik, ini terlihat seperti:Ini menangkap string dan mencetaknya dengan
p
, sekali lagi mengakhiri program denganx
.Coba di sini!
sumber
U
mendorongU
secara implisit? ಠ_ಠU
perintahnya adalah "perintah penangkapan tautan rantai". Itu tidak dibuat untuk quining, tapi itu tidak akan menghentikan saya menggunakannya untuk quining. : PU...
hanya mengkodekanU...
.p
bit melakukan output, yang merupakan bagian dari pengkodean.p
danx
tidak akan dihitung. Sebagai contoh, quine SMBF terpendek masih dianggap sebagai quine kecurangan, meskipun kode harus mencetaknya. Mungkin layak meminta Martin untuk klarifikasi.JavaScript (ES6),
4238 byteTerbalik
Penjelasan
Ketika dibalik, itu menjadi fungsi anonim yang mengembalikan string
Hello, World!
.Regex
/\//g
menjadi komentar ketika dibalik, yang memungkinkan sintaksis tidak valid>=_=f
untuk dikomentari dalam kode terbalik.sumber
=_=
.JavaScript (ES6), 71 byte
Bagaimana itu bekerja:
Baris 1 mendefinisikan fungsi
trela
yang ketika dijalankan menghasilkan kode sumber program. Baris 2 adalah string yang tidak ditetapkan, tidak melakukan apa pun. Baris 3 dan 4 panggilantrela
menyalahgunakan sintaks string templat.Terbalik:
Bagaimana itu bekerja:
Baris 1 adalah string yang tidak ditetapkan, tidak melakukan apa pun. Baris 2 dan 3 menyalahgunakan sintaks string template untuk dicetak
Hello, World!
. Baris 4 adalah komentar.sumber
``
tidak perlu?trela
fungsi (yang mencetak quine) dalam versi ke depan``
itulah argumennya. Keren.trela
- lihat di sini ...> _>GolfScript, 33 byte
Maju
Cobalah online!
Ke belakang
Cobalah online!
sumber
GolfScript,
2928 byteIni memiliki satu baris tambahan. Coba di sini.
Terbalik:
Coba di sini.
sumber
KEMBALI , 94 byte
Terbalik:
Try it here.
Output ke STDOUT. Sampai saya menemukan kerangka quine yang lebih baik, ini harus dilakukan untuk saat ini.
Penjelasan
Ini berisi string quine. Secara terbalik, ini didorong ke stack tetapi tidak di-output.
Ini mendorong tanda kutip ke stack dan menampilkan hasilnya dua kali sampai tidak ada yang tersisa untuk output. Secara terbalik, ini akan mencetak kode-kode yang sudah ada di tumpukan.
Yang ini muncul item tumpukan atas (terbalik, ini akan memunculkan ruang char) dan mendorong serangkaian kode sandi ke tumpukan (secara terbalik, kode ini nantinya akan dicetak oleh seri
,
's).sumber
Fisi 2, 42 byte
Adaptasi quine yang luar biasa dari @ MartinBüttner dalam jawaban ini
Cobalah online
Dan terbalik
Cobalah online
Dalam versi quine, atom dimulai dari
R
arah kanan. The"
dimulai modus yang membungkus ke depan mencetak"
(sendiri). Ini mencetak semuanya kecuali"
.'!+
atur atom menjadi char"
.O
mencetaknya dan menghancurkan atom yang mengakhiri program.Versi terbalik dimulai di
R
lagi dan untuk setiap karakter dalamHello, World
mengatur atom dan mencetaknya!
tanpa menghancurkan atom. Untuk karakter terakhir!
cetakanO
menghancurkan atom.sumber
Javascript ES6, 55 byte
Cukup sederhana, sungguh.
sumber
Python 2, 131 byte
Meneruskan:
Membalikkan:
Babak pertama adalah quine satu baris, diikuti oleh
#
untuk membentuk komentar yang memisahkan babak pertama dari babak kedua yang lebih sederhana.sumber
_='_=%r;print _%%_#"!dlroW ,olleH"tnirp';print _%_#"!dlroW ,olleH"tnirp
C, 108 byte
sumber
Python 2, 70 byte
sumber