Tantangan Anda: tulis "program", untuk bahasa pilihan Anda, yang menyebabkan kompiler / juru bahasa / runtime untuk menghasilkan output kesalahan saat mengkompilasi / menjalankan program Anda yang identik dengan kode sumber program Anda.
Aturan:
- Program Anda mungkin khusus untuk versi tertentu atau implementasi lingkungan kompiler / juru bahasa / runtime bahasa Anda. Jika demikian, harap jelaskan keterangannya.
- Hanya opsi kompiler / interpreter / runtime standar yang diizinkan. Anda tidak dapat mengirimkan beberapa flag aneh ke kompiler Anda untuk mendapatkan hasil yang spesifik.
- Program tidak perlu valid secara sintaksis atau semantik, tetapi saya dapat memberikan hadiah untuk pengajuan yang valid secara sintaksis terbaik.
- Program tidak boleh menghasilkan output sendiri (misalnya dengan memanggil fungsi cetak atau output). Semua output yang dihasilkan saat mencoba mengkompilasi / menjalankan program harus berasal dari kompiler / interpreter / runtime.
- Output lengkap dari compiler / interpreter / runtime harus persis sama dengan kode sumber program Anda.
- Compiler / interpreter / runtime harus menghasilkan setidaknya satu pesan kesalahan ketika dipanggil dengan program Anda.
Ini adalah kontes popularitas . Sebagian besar jawaban kreatif, sebagaimana ditentukan oleh upvotes, menang. Jika Anda dapat memberikan kasus yang baik untuk menggunakan celah standar, Anda dapat melakukannya.
popularity-contest
quine
error-message
nneonneo
sumber
sumber
Error: Could not find or load main class Q
Jawaban:
Ed (1 byte)
Semua solusi lain sejauh ini panjang dan jelek. Saya kira itu karena sifat sebagian besar pesan kesalahan. Tetapi pesan kesalahan yang baik elegan dalam kesederhanaannya. Untuk itu, lihat tidak lebih dari ed.
Simpan ini ke file yang dipanggil
edscript
dan jalankan denganed < edscript
, atau jalankaned<<<?
. Hasil:Tanda tanya ditulis ke stderr dan ed menghasilkan 1, jadi ini sebenarnya adalah pesan kesalahan. Saya ingin tahu mengapa ed tidak begitu populer?
Salah (0 byte)
Jalankan dengan
false filename
. Itu menulis kode sumber program (yaitu tidak ada) ke stderr dan mengembalikan 1. Tentu saja, memanggil false bahasa pemrograman dipertanyakan, dan quine byte nol tidak orisinal, tapi saya pikir saya mungkin juga menambahkannya. Mungkin ada beberapa juru bahasa untuk bahasa yang tidak mencetak pesan kesalahan, dan bisa menggantikan yang salah.Sekarang saya berharap ini kode golf.
sumber
Prompt Perintah Windows
sumber
|
juga berfungsi dengan baik .CoffeeScript, secara sintaksis valid
Seperti yang diuji di situs web mereka menggunakan Chrome atau Firefox.
Anda dapat mengganti
defined
dengan apa pun yang bukan variabel bawaan, tapi saya pikir versi ini menyenangkan. Sayangnya,undefined is not defined
khususnya tidak berfungsi sebagai quine.Dalam CoffeeScript ini bahkan bukan kesalahan sintaksis, karena mengkompilasi. Ini secara teknis merupakan kesalahan runtime dalam JavaScript, meskipun membosankan. CoffeeScript adalah kandidat yang potensial untuk menghasilkan beberapa quine error runtime yang lebih menarik karena banyak kalimat lucu adalah kode yang valid. Misalnya contoh di atas mengkompilasi ke
sumber
defined
adalah dengandefined
itiondefined
. Apa ... bagaimana ...?Undefined is not defined
(dengan modal besarU
) tampaknya berhasil lolPython
laba laba
Nah, solusi yang agak sepele untuk Spyder IDE adalah meningkatkan
SyntaxError
.Kode dan output identik:
(Python 2.7.8 dengan Spyder 2.2.5)
Terminal
Solusi alternatif untuk Python dimulai dari perjuangan baris perintah dengan indentasi yang tidak terduga.
Perintah:
Kode dan output identik:
ideone.com
Di ideone.com solusinya adalah sebagai berikut. (Cobalah!)
Kode dan output identik:
(Ini untuk Python 2. Contoh untuk Python 3 adalah sepele tetapi dengan 15 baris "kode" agak panjang.)
Pendekatan umum:
Bagaimana cara membuat solusi Anda sendiri dalam 2 menit?
Saya yakin prosedur seperti ini akan berakhir dengan cepat dalam banyak kasus!
sumber
SyntaxError: invalid syntax
menghasilkan hal yang sama juga :)> <> - 25 Bytes
Dalam Fish, instruksi yang salah menghasilkan kesalahan: "sesuatu berbau amis ...". Karena s bukan perintah yang valid, s langsung salah.
sumber
something smells fishy...
, tetapi adaSomething smells fishy...
pada interpreter online. Tergantung pada penerjemahnya.Windows .EXE, 248 byte
Tidak benar-benar. Simpan sebagai
quine.txt
, lalu ganti nama menjadiquine.exe
(atau unduh di sini ):sumber
Ruang putih
Pertama saya pikir ini jelas mustahil. Tapi sebenarnya itu juga sepele. -.-
Cobalah.
Ya, program spasi putih pertama saya! ;)
sumber
Ayam
sumber
JavaScript
Karena browser yang berbeda menggunakan kompiler JavaScript yang berbeda, mereka menghasilkan pesan yang berbeda. Namun, ini adalah solusi yang agak sepele.
V8 (Chrome 36 / Node.js)
SpiderMonkey (Firefox 31)
Chakra (Internet Explorer 11)
sumber
jsc
::Exception: SyntaxError: Unexpected identifier 'identifier'
DCommodore 64 Basic
Saat dijalankan pada emulator pilihan Anda (atau Commodore 64 yang sebenarnya), hasilkan
Faktanya, ini adalah program satu-baris yang valid secara sintaksis. Tanda tanya adalah pintasan untuk
PRINT
, danSYNTAX
danERROR
merupakan nama variabel yang valid. Kesalahan terjadi karena pengurai menjadi bingung oleh substringOR
diERROR
.sumber
Microsoft Excel
Rumus:
#DIV/0!
Pesan eror:
#DIV/0!
Untuk memasukkan formula tanpa menggunakan tanda sama dengan, buka Pengaturan Opsi Excel / Lanjutan / Kompatibilitas Lotus dan aktifkan Entri Transisi Formula.
sumber
#REF!
Bash (32)
Simpan sebagai file bernama
x
:Ketika dijalankan:
sumber
Quine error kompilasi Java 8 (12203 bytes)
Dihasilkan pada windows + mingw dengan java 1.8.0_11 jdk, menggunakan perintah ini:
Mungkin bukan yang terpendek, mungkin juga bukan yang terpanjang, lebih merupakan bukti konsep. Berfungsi karena output kesalahan menunjukkan paling banyak 100 kesalahan.
sumber
ArnoldC
Rekatkan kode ke kompiler ini .
sumber
IT'S SHOWTIME
sebenarnya ada di baris pertamaTrumpScript - Membuat PPCG Hebat Lagi ( TrumpScript )
Saat mencoba menjalankan bahasa ini di PC windows, hasilnya selalu:
Jadi ketika menjalankan program ini:
Bahkan tidak akan menguraikannya karena pemeriksaan OS gagal, dan Anda mendapatkan pesan kesalahan. Contoh dapat diberikan untuk Mac juga jika ada yang mau haha. Ya Tuhan, aku sudah lama ingin menggunakan ini di PPCG, bagus akhirnya aku bisa.
Daftar lengkap kesalahan yang dapat dipicu menggunakan spesifik lingkungan:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py
Jawaban Bonus: ArnoldC ( ArnoldC )
ArnoldC membutuhkan deklarasi root
IT'S SHOWTIME
, yang berartimain()
, jadi:Menghasilkan satu-satunya pesan kesalahan di ArnoldC ...
Yang mana, sebenarnya ... lucu. Anda harus menjalankannya non-verbose meskipun tanpa jejak stack.
sumber
Juru bahasa mesin-Z
Uji terhadap penerjemah populer ini . Juga ada semacam game yang kebanyakan tidak berbahaya di-host di sana.
sumber
Julia 0.2.0
Kesalahan sintaksis lain ditemukan secara iteratif hingga titik tetap tercapai:
sumber
Mathematica
A
.
dalam Mathematica berarti titik atau fungsi desimalDot
. Dalam hal ini,.
muncul di akhir ekspresi dan tidak dapat ditafsirkan.sumber
C
Saya menerapkan metode berulang kali menyalin pesan kesalahan ke sumber. Itu berkumpul dalam 2 siklus. Dikompilasi di OSX 10.9 dengan 'cc -c error.c'.
Catatan: Ini bukan jawaban karena ini adalah metodologi untuk mendapatkannya. Hasilnya mungkin berubah tergantung pada OS Anda atau versi cc yang Anda gunakan.
Metode yang tepat untuk mendapatkan hasilnya adalah dengan menjalankan instruksi
berulang kali hingga output berhenti berubah.
sumber
cc -c error.c 2>out
dan kemudianmv out error.c
. Dan dengan versi cc yang saya miliki hari ini dibutuhkan beberapa iterasi lagi.cc
; jika tidak maka tidak valid dan harus dihapus per pedoman komunitas.C ++ (g ++)
File harus disimpan sebagai
1.pas
.sumber
INTERCALL , 90 byte
Termasuk baris baru di akhir. Perhatikan bahwa ini bukan STDERR, tetapi dianggap sebagai output kesalahan oleh banyak orang, jadi saya mempostingnya di sini.
Ini adalah "header wajib":
sumber
GHCi (juru bahasa / shell Haskell)
Pemakaian:
Tulis kode dalam file bernama Kode dan muat dengan GHCi.
Fakta yang bagus adalah bahwa, jika kata-kata itu adalah pengidentifikasi yang sebenarnya, ini akan menjadi ekspresi hukum (selama itu akan ketik cek). Hal ini pada dasarnya disebabkan oleh fakta bahwa
:
operator yang ada di dalamnya,.
digunakan untuk nama yang memenuhi syarat modul, dan spasi putih digunakan untuk menunjukkan aplikasi fungsi.sumber
.
bukan operator di sini. Itu bagian dari nama yang memenuhi syarat. Untuk GHCi versi apa ini?Ruby 2 di Windows
Kode:
Kode ditemukan dengan menguji dan mengulangi proses berulang-ulang sampai titik perbaikan tercapai. Kode harus ada di dalam file
"error.rb"
.Demo:
sumber
Applescript (dalam Editor Skrip)
sumber
AppleScript
Keduanya
A
danidentifier
bisa menjadi pengidentifikasi, sehingga AppleScript mengatakan tidak.sumber
C (gcc)
Kompilasi dengan
gcc -Wfatal-errors error.c
.sumber
CJam 0.6.2
Cobalah online.
sumber
BBC Basic, 7 byte (atau 0 Bytes)
Ini adalah entri 7 byte yang valid:
Ini adalah pesan kesalahan yang dihasilkan oleh penerjemah ketika benar-benar tidak dapat memahami kode.
Di sisi lain, ini bukan:
Ini adalah kata kunci yang valid di BBC Basic yang seharusnya sengaja memperkenalkan kesalahan dari kode yang ditentukan ke dalam program, tetapi sintaksnya salah (tidak ada kode yang diberikan.) Oleh karena itu ia mengembalikan
Syntax error
(yang pada gilirannya kembaliMistake
ketika dijalankan.)Secara umum prosedur yang dijelaskan oleh Falko dalam jawabannya mengarah ke
Mistake
dasar BBC. Ada beberapa pengecualian. apa pun yang menghasilkan kesalahanDATA not LOCAL
atauON ERROR not LOCAL
mengarah ke quine nol byte yang terkenal: kode sumber kosong menghasilkan file kosong.Mengingat bahwa sebagian besar pesan kesalahan di BBC basic adalah huruf kecil (dan karena itu bukan kata kunci yang valid), saya cukup yakin bahwa setiap input yang tidak valid pada akhirnya akan mengarah ke salah satu kemungkinan ini.
sumber
CoffeeScript
Gagal pada kesalahan pertama, sehingga cukup mudah dilakukan:
Demo
sumber
Keempat
Coba di sini
Secara mengejutkan ini mudah ditemukan.
sumber