JAPH adalah tradisi besar dalam membuat program yang mencetak "Just another Perl hacker,". Kami sudah memiliki pertanyaan tentang JAPH di situs ini tetapi mereka tampaknya lebih peduli dengan menyembunyikan teks, tetapi JAPH selalu lebih tentang menyembunyikan metode yang digunakannya melakukan apa yang dilakukannya. Karena itu saya menantang Anda untuk memamerkan fitur keren bahasa favorit Anda, dan jangan terlalu khawatir menyembunyikan teks (kecuali jika Anda mau).
Ini milik saya, di Perl, yang seharusnya tidak terlalu sulit dipahami oleh seorang velociraptor yang berpengalaman, tetapi mungkin menarik bagi orang lain.
(*STORE,*TIESCALAR)=map{eval"sub{$_}"}qw'map{print&&sleep$|}split//,pop bless\$|++';tie$t,main;$t="Just another Perl hacker,\n"
Dinilai secara subyektif atas suara yang diberikan oleh kalian, mari kita lihat beberapa mind-benders!
obfuscation
popularity-contest
Joel Berger
sumber
sumber
_2=($_1/*/*); ${_2[34]} -${_2[34]:5:1}'\110\145\154\154\157\54\40\127\157\162\154\144\41'
Jawaban:
C
Harus dikompilasi ke 32bit. Pada mesin 64bit gunakan
gcc -m32
atau semacamnya.Penafian: bukan ide saya. Saya menemukannya bertahun-tahun yang lalu tersembunyi di beberapa kode. Serius. Mereka bahkan lebih baik, saya lupa beberapa detail kecil. Tapi intinya ada di sana.
Ketika Anda melihatnya, Anda akan sh * t batu bata.
sumber
/*
dikomentari! facepalm :-PMathematica:
sumber
Anak panah
Sunting: setter yang kurang membosankan, pengambil yang lebih sedikit membosankan
Saya telah mempelajari bahasa ini selama sehari, jadi saya pikir orang lain mungkin menganggap ini sebagai kekacauan anak-anak ... :(
sumber
PRNG
Ada dalam C, tetapi sebenarnya menunjukkan bahwa Anda dapat melakukan hal-hal keren menggunakan PRNG dan output
Just another PRNG hacker
:Menggunakan PRNG built-in (srand, rand) juga dimungkinkan, tetapi kurang portabel.
sumber
C
sumber
Python
sumber
Javascript
Dalam kode saya, teks JAJSH dienkripsi dengan membalikkannya, tidak hanya sekali, tetapi dua kali !! Ha! Bisakah kamu menemukannya?
sumber
Haskell
Saya melakukan ini dengan bantuan .
Dan hanya untuk bersenang-senang:
sumber
JavaScript
Jalankan di konsol
sumber
Python 2.x (ekspresi tunggal)
Sekarang, meskipun hal ini cukup mudah untuk diketahui oleh Pythoneers, yang lain mungkin merasa paling tidak menarik. Jika Anda bertanya-tanya mengapa ada begitu banyak lambda, saya ingin memiliki underscoreness maksimum, tetapi pengulangan yang minimal. Siapa yang tidak suka menggarisbawahi? Ideone
Versi indentasi jika Anda lebih suka:
Ini mendefinisikan suatu fungsi dan menyebutnya dengan 'Just another Python Hacker'. Sekarang, itu tidak harus berfungsi, tapi saya pikir itu akan lebih elegan.
sumber
QBasic
Inilah implementasi saya di QBasic. Program harus disebut "JAQBH.BAS" di dalam atau untuk ini untuk mengeksekusi dengan baik, karena membaca sumbernya sendiri sebagai bagian dari program. Dan saya tidak dapat menemukan cara yang waras untuk menentukan nama skrip yang sedang berjalan.
sumber
Haskell
Bersenang-senang dengan transformer monad:
sumber
Scala
sumber
Nota bene.
Membuat font khusus untuk menampilkan teks.
sumber
Rubi
Punya dua ide dan akhirnya menggabungkannya.
sumber
Ruby 1.9
Cheesy, sangat tergantung pada implementasi, tapi saya harap Anda merasa menyeramkan.
Edit: Bukti
sumber
Python
JAPH saya dengan Python
sumber
JavaScript
sumber
Lua / RProgN
Saya yakin ada cara yang lebih baik dan lebih licik untuk menggabungkan kedua bahasa ini. Bersembunyi di komentar terlalu sering digunakan.
Coba Lua Out
Coba RProgN Out
sumber
Operasi bahasa skrip Flashpoint
Simpan sebagai
ofp.sqs
(atau nama lain), dan panggil dengan[] exec "ofp.sqs"
.Keluaran:
sumber
Kanvas
... yang seharusnya berfungsi, tetapi
╷
pada string belum diimplementasikan. Hore untuk proyek mati! Versi yang bekerja menggunakan logika yang sama, tetapi sedikit ... kurang dikaburkan.Cobalah online! (versi kerja)
sumber
Perl pada OSX 10.7+ (membutuhkan Xcode)
sumber