Dalam bahasa pemrograman apa pun yang ada sebelum pertanyaan ini ditanyakan, tulis program (bukan fungsi) yang menampilkan karakter Hello world!
diikuti oleh baris baru. Program Anda:
- tidak boleh menggunakan karakter apa pun lebih dari sekali (termasuk spasi)
- seharusnya hanya menggunakan karakter ASCII
- tidak boleh menggunakan perpustakaan bawaan apa pun
- seharusnya tidak mendapatkan input (pengguna, file, nama file, variabel sistem, internet, apa pun)
- seharusnya tidak menghasilkan apa pun
Pemenang adalah siapa pun yang memiliki suara terbanyak setelah 14 hari dan mematuhi enam aturan.
Aturan keenam adalah bahwa Anda tidak dapat menggunakan H9 +, HQ9 +, HQ9 + B, HQ9 ++, HQ9 + 2D, Halo, Hello +, Hello ++, Hexish, CHIQRSX9 +, atau Fugue. Juga, semua jawaban yang membutuhkan implementasi yang lebih baru dari tantangan ini harus ditandai sebagai tidak bersaing.
Penafian: Pertanyaan ini diposting dengan asumsi bahwa Hello world! dengan pengulangan terbatas tidak menyebabkan kerusakan pada komputer Anda atau otak Anda dalam proses menemukan jawaban.
Jawaban:
Perl 6 (
2928 karakter)Ini agak menjengkelkan, tetapi akhirnya saya berhasil membuat program untuk tugas ini. Terima kasih telah mengunjungi komunitas # perl6 yang hebat , karena telah membantu saya dengan tugas ini. Butuh waktu dua jam, harap Anda menikmati. Output sepenuhnya sesuai dengan spesifikasi, termasuk baris baru.
Ada empat token yang menarik.
say
Ini menghasilkan argumen dengan baris baru di akhir. Baris baru setelah perintah itu sendiri diperlukan sebagai pengganti spasi.
Q[@A`DO world!]
Ini adalah string pertama.
Q[]
adalah untuk string mentah (sepertir""
dalam Python). Ini dapat mengambil pembatas (atau pasangan mereka), dalam hal ini[]
. Dalam hal ini, saya menggunakan ini untuk kutipan, saya tidak perlu perilaku string mentah.~|
Ini adalah operator stringwise (
~
) bitwise atau (|
).<HeLhg>
<>
adalah daftar literal, yang mengambil daftar elemen yang dipisahkan ruang. Dalam hal ini, ia memiliki satu elemen, dan digunakan sebagai skalar, ia memberikan string.sumber
Perl 5 dengan
-M5.010
, 29 byteCobalah online!
Saya telah memperoleh banyak pengetahuan sejak saya pertama kali mencoba ini. Masih tidak sesingkat jawaban yang lain, tetapi yang terbaik yang bisa saya dapatkan!
sumber
w
.Perl 5.10+: 24 karakter
OK, saya pikir ini sesingkat di Perl.
Jalankan dengan
perl -M5.010
(atau hanyaperl -E
) untuk mengaktifkan fitur Perl 5.10+say
.sumber
ll
...Golfscript
4233Saya mungkin juga golf ini, mengingat bahwa saya harus memasukkan beberapa kode dan semua data di blok yang sama tanpa cara membatasi keduanya saya pikir ini adalah hasil yang cukup singkat. Tidak seperti pengiriman pertama saya, kode blok sekarang menjadi bagian yang sepenuhnya terintegrasi dari data, sehingga
{1
tidak hanya memulai blok dan meletakkannya1
di tumpukan, itu juga data yang mendefinisikanH
, dan sebagainya. Pembuatan array sekarang termasuk string input kosong, yang berarti bahwa saya tidak harus memotong awal karena hanya ada satu karakter antara string kosong danH
, karakter yang terpotong ketika saya mengambil setiap karakter kedua, dan kosong string pada akhirnya adalah output sebagai tidak ada.Demo online: http://golfscript.apphb.com/?c=ezF3WiRRZWleQWsgM2gtKXVsbXNvZ3I3fS5gKl0yJW4r
Menentukan blok kode. Membuat salinan blok kode dan mengubahnya menjadi string. Menggunakan blok kode untuk beralih pada string. Untuk setiap iterasi kode akan membuat salinan dari nilai char sebelumnya, xor dengan nilai char saat ini, dan kurangi 1. String yang dihasilkan kemudian memiliki 6 karakter pertama dihapus, dan setiap karakter kedua dihapus. Akhirnya umpan baris ditambahkan.
"r iFNGDJUHv98oIMgtplbh4m" hanyalah dua variabel yang tidak dideklarasikan, mereka tidak melakukan apa-apa, tetapi mereka dibangun dengan hati-hati untuk menghasilkan hasil yang diinginkan.
Demo online: http://golfscript.apphb.com/?c=W3sxJF4ociBpRk5HREpVSHY5OG9JTWd0cGxiaDRtfS5gXCpdNj4yJW4rsumber
Vim 7.3, 18 penekanan tombol
Menyalin string
Hello world
dari file bantuan ini , yang sayangnya telah dihapus dalam versi Vim yang tidak pernah.sumber
<Esc>
Befunge-98 ,
3431 byteCobalah online!
Menggunakan beberapa metode berbeda untuk menghindari duplikasi karakter.
Pertama, kami menggunakan pembungkus string literal untuk menghindari penggunaan dua
"
s. Ini menambahkan "dunia!" ke tumpukan.Ke kiri di baris kedua, kami menambahkan 9 ke ekstra
f
untuk membuato
"Halo". Kamig
et karakter dari sel 5.0 (l
) dan kemudian duplikat. Yang'
digunakan untuk mengambil surat itue
. Kalikan 9 dengan 8 untuk mendapatkan 72, nilai ASCII dariH
. Kami kemudian mencetak semuanya menggunakanck,
, dan membalik arah dengan>
menggunakan kembali,
untuk mencetak baris baru (a
).sumber
+
dand
.Elixir , 37 byte
Cobalah online!
Saya tidak dapat menjamin bahwa ini akan bekerja kembali pada tahun 2014 ketika tantangan ini diposting, dan Elixir masih pra-1.0 (dan dengan demikian, apakah itu secara resmi "bersaing", tetapi melihat catatan rilis mereka, saya pikir itu harus BAIK). Bagaimanapun, saya senang bahwa saya akhirnya menemukan solusi yang valid untuk tugas ini menggunakan bahasa tujuan umum konvensional selain Perl!
Panduan
sumber
Stax (tidak bersaing), 8 byte
Cobalah online!
Hanya string literal terkompresi. Untungnya Stax melepaskan saya tanpa backtick penutup.
sumber