Seperti beberapa dari Anda mungkin tahu, untuk menggunakan bahasa ke Try 's Online yang luar biasa dari Dennis ! , Halo, Dunia! program diperlukan. Baru-baru ini, Dennis mendorong cara untuk memuat program-program ini dari situs web. Berikut adalah pastebin JSON dari karakter yang digunakan dalam program tersebut, berdasarkan frekuensi, per 27 Juli 2017.
Beberapa karakter tersebut membutuhkan cinta, jadi tantangan Anda adalah mengeluarkan Hello, World! (lebih disukai dalam bahasa yang terlibat dalam proses ini), hanya menggunakan karakter yang ditentukan di bawah ini. Karakter-karakter ini adalah semua karakter yang digunakan di antara waktu ( 10
dan 99
inklusif), bersama dengan dua karakter paling umum, 0
dan , karena saya merasa senang.
0 $&*?ABCDEFGIJKLNPQRSTUXYZ\`gjkqwxyz{}÷≤≥=║_
Penggunaan karakter oleh Anda harus didasarkan pada kemunculannya dalam program normal, bukan berdasarkan titik kode atau nilai byte.
Anda harus menggunakan setidaknya satu karakter dari set itu, sehingga program 0-length tidak valid.
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
sumber
Jawaban:
SOGL V0.12 ,
897568 byteCoba Di Sini!
Catatan: setiap kali
q
atau output disebut di sini, itu tidak muncul karena output popping (salah satuoOpP
) tidak tersedia atau output baris baru.Penjelasan (usang, yang berubah adalah bahwa "H" dicetak menggunakan huruf alfabet):
Fakta menyenangkan: semua karakter dari karakter yang diizinkan berada dalam codepage SOGLs: D
sumber
palenChars.txt
) lebih diperbarui di siniPerl 5 , 76 byte
Ini menggunakan fitur yang sudah usang, tetapi bekerja secara lokal di terminal saya (yang merupakan versi 5.18.2 seperti yang disebutkan). Dalam versi yang lebih lama Perl
?\w?
adalah sinonim/\w/
yang memberi saya akses ke pencocokan regexp dan saya memiliki cukup karakter untuk$&
(pertandingan terakhir) dan$`
(teks sebelum pertandingan terakhir). Saya perlu ini untuk bisa mendapatkanO
. Saya membuat ini menjadiglob
referensi ($_=\*G
yang, dilemparkan ke skalar, adalah sesuatu sepertiGLOB(0x7ffb728028d0)
). Setelah itu di$_
,?B?
akan cocok denganB
dan$`
akan berisiGLO
, saya kemudian bisa cocok melawan\w$
yang akan menyimpanO
di$&
yang dimasukkan ke dalam string yang saya jalankan stringwise-DAN untuk membuat sisa teks, tubuh string menggunakan huruf kecil\L
.Cobalah online! - Penggunaan
/\w/
sebagai pengganti?\w?
karena versi Perl pada TIO terlalu baru.Perl 5 , 65 byte
Ini sedikit lebih curang karena bergantung pada nama file di TIO (yang
.code.tio
), jadi saya tidak benar-benar berpikir ini bersaing, tapi saya senang dengan hasilnya!Cobalah online!
sumber
-p
tidak masalah. Kerja bagus, inilah yang saya harapkan ketika saya menanyakan hal ini :)Unary , 7 * 10 182 byte
Unary adalah Brainfuck dikonversi menjadi biner dikonversi ke unary menggunakan
0
sebagai penghitung. Pada dasarnya, ini memadatkan program Brainfuck menjadi angka dan hasilnya adalah angka0
s. Mereka biasanya program yang sangat besar.Saya tidak akan menempelkan program di sini karena saya tidak tahu berapa banyak teks yang diizinkan SE tetapi saya yakin itu kurang dari ini. Sebagai gantinya, saya akan menempelkan jumlah nol yang tepat dalam jawaban ini:
Karena ini adalah jawaban yang cukup murah, dijamin bukan yang tersingkat, dan saya hanya menyalinnya , saya membuat ini sebagai posting wiki.
sumber
05AB1E ,
13710695 byteCobalah online!
-31 terima kasih kepada @Adnan karena telah menunjukkan saya bisa menggunakan basis 108.
- ?? terima kasih kepada @Riley karena menunjukkan beberapa hal yang salah.
Versi lama (metode berbeda):
05AB1E ,
211186166 byteCobalah online!
Ha ha! DAN DI SINI SAYA PIKIR ESOLANG TETAP TANPA KESEMPATAN YANG DAPAT DITERIMA!
Pertama kita mendapatkan 255 disimpan dalam X:
Kemudian, dengan menggunakan trik panjang yang sama kita dorong:
1296995323340359595058728869715
Di mana kita hanya menggunakan
0<space>
bukan trik panjang untuk nol.Kemudian, akhirnya, kami mendorong 255 yang kami simpan dan konversi dari 255 ke basis 10 :
Masih bermain golf menggunakan karakter yang diizinkan lainnya, dan duplikasi, itu akan menjadi satu menit.
sumber
Beatnik , 148 byte
Cobalah online!
Penjelasan
Beatnik mendasarkan instruksi yang dieksekusi berdasarkan skor scrabble dari kata tersebut. Berikut penjelasan singkat:
sumber
Moorhens (v2.0),
3423983923866749716 byteSaya pikir ini bisa sedikit golf, Moorhens bukan bahasa yang mudah untuk dikerjakan.
Penjelasan
Moorhens adalah bahasa berbasis kata-kata kamus. Setiap kata berhubungan dengan operasi berdasarkan hash-nya. Lima operasi yang digunakan di sini adalah
xU
,ER
,XI
,KA
, danAA
xU
menambah TOSER
menempatkan nol baru di tumpukan.XI
menurunkan TOSKA
menduplikasi TOSAA
menggulung TOS ke bawahKami mendorong setiap surat dengan aplikasi sukses dari operasi ini.
sumber
Glypho , 480 byte
Cobalah online!
sumber
Headecks , 78 byte
sumber
JavaScript Ganda, 318 byte
Saya tidak yakin apakah itu diizinkan, saya tidak bisa melakukannya menggunakan penerjemah JavaScript sekali. Ini mirip dengan menggunakan
eval()
tetapi sebaliknya saya menggunakan penerjemah dua kali: (Cobalah di konsol untuk mendapatkan hasil yang dicetak kembali)Cobalah online!
Mengevaluasi ke:
Cobalah online!
Yang dievaluasi menjadi
Hello, World!
sumber
Smallf ** k , 266 byte:
Sebenarnya, karakternya agak tidak relevan. Hanya masalah apakah masing-masing karakter memiliki codepoint genap atau codepoint ganjil. Jadi, saya telah berusaha untuk menggunakan setiap karakter yang tersedia (kecuali karakter multibyte) (meskipun sejak itu diacak, saya tidak berusaha untuk menjamin itu).
sumber
ord
dan 0 untuk genapord
) sehingga Anda bisa mengatakan ini adalah 33,25 byte xD'5'
menempati codepoint reguler'A'
, Anda tidak diperbolehkan menggunakannya'5'
.Pyke ,
133144 byteCobalah online!
Kekacauan kode yang mengerikan yang hampir pasti dapat dipersingkat ... Membangunnya satu karakter pada satu waktu.
sumber
dc ,
164162 byteCobalah online!
Kemungkinan ada pendekatan yang lebih baik / lebih menarik. Saya mencoba menggunakan trik ASCII + 256 itu
dc
dimiliki, tetapi menghasilkan karakter tambahan juga (bahkan jika mereka non-printing), dan begitu saya mendapatkan 'o', 111 yang sangat bagus, saya mengalami kesulitan bahkan mendapatkan nilai 111+ (kelipatan 256) yang diperhitungkan dengan bersih. Jadi, inilah solusi yang cukup mudah (meskipun golf jika memungkinkan):In
dc
,z
adalah perintah yang mendorong kedalaman tumpukan ke tumpukan. Itu berarti kita bisa menggunakannya sebagai kenaikan. Ini adalah bagaimana saya membuat sebagian besar nilai ASCII saya untuk tantangan ini (dicetak denganP
), yang saya dorong ke tumpukan bernamaS
dan muncul kembali ke tumpukan utama denganL
.dc
memungkinkan Anda menggunakan nilai hex AF bahkan ketika radix input desimal (default).Untungnya, huruf pertama kami, 72, adalah kelipatan dari 12, jadi saya menyimpan satu atau dua byte di sini dengan mengalikan 6 * 12 dan mencetak segera (Versi 164-byte saya menggunakan perkalian sejak awal untuk mendapatkan 72 ('H'), yang agak pintar tetapi peninggalan dari upaya sebelumnya, dan buang-buang byte. Sekarang, saya mulai dengan menambah dan menghemat ruang, tanda seru, dan koma, yang rusak, dan karena itu belum dapat dicetak. Selanjutnya, saya datang ke 'H', yang segera saya cetak, sebelum saya sampai ke 'W', yang harus saya simpan nanti.zzzzzzzC*P
).Saya hanya mencetak ketika saya menekan 'e', lalu saya menambah hingga 'l'. Saya mencetak dua dari itu dan menyimpan satu. Ketika saya membuat ke 'o', saya pertama kali pikir saya akan harus menyelamatkan salah satu dari mereka untuk nanti, tapi semuanya jenis agar pada saat ini. Saya mencetak 'o', mengambil koma, spasi, dan 'W' dari sebelumnya, dan sekarang saya segera kembali ke 'o'. Saya mencetak ini, dan menambah beberapa hingga nilai tertinggi yang diperlukan, 'r' (114), yang saya cetak sebelum memuat dan mencetak 'l' yang saya masukkan sebelumnya.
Hampir selesai! 'd' adalah nilai ASCII 100, yang mudah dibuat dengan mengalikan 10 * 10 (lebih sedikit byte daripada menyimpannya sebelumnya dan memuatnya sekarang). Nilai hex
A
adalah 10, seperti input radix kami yang dapat kita ambil dengan perintahI
. Lipat gandakan, cetak, lalu muat dan cetak tanda seru kami dari yang sebelumnya. Halo Dunia!sumber