Martin telah membuat cuplikan yang bagus yang dapat digunakan untuk melacak skor untuk jawaban terhadap tantangan. Itu hebat dan semuanya, tetapi bukankah lebih baik jika Anda bisa melacaknya sendiri?
Buat program yang membandingkan jumlah byte itu sendiri dengan sisa jawaban untuk pertanyaan ini, dan mengembalikan "Saya menjawab nomor n".
Aturan:
Hitungan byte dalam jawaban Anda sendiri dapat dikodekan dalam kode
Fungsi dapat mengambil url sebagai input, atau dapat di-hardcode. Karakter untuk url tidak akan dihitung ke jumlah byte, jadi tidak perlu menggunakan penyingkat url.
url-address ke jawaban tidak bisa di-hardcode
Skor untuk jawaban dapat ditemukan dari tajuk, (seperti halnya cuplikan Martin).
Header jawaban harus memiliki format yang benar (dijelaskan di bawah).
Jika memungkinkan untuk menjalankan program secara online, silakan bagikan tautan ke kompiler online (atau cuplikan kode yang dapat dieksekusi dari jawabannya). Jika tidak memungkinkan, tolong tunjukkan cara memanggil fungsi, dan tampilkan output dari kompiler Anda sendiri (pada saat Anda memposting jawabannya. Anda tidak perlu memperbaruinya kecuali jika Anda ingin tentu saja).
Anda harus benar-benar membandingkan jawaban dengan jawaban lain untuk pertanyaan ini. Cukup menulis skrip
I'm answer number 1.
dalam beberapa bahasa tidak sah.Jika jawaban lain memiliki jumlah byte yang sama dengan jawaban Anda, Anda dapat memilih apakah Anda ingin yang terbaik atau lebih buruk dari mereka.
Header harus diformat:
# Language Name, N bytes
Strike-through dll tidak dapat digunakan, jadi jika ukuran kode diubah, tampilkan dalam huruf tebal di bawah header atau tunjukkan dengan cara lain.
Keluaran harus I'm answer number n.
, di mana angka n
adalah posisi (trailing newline / spasi OK). Jadi, jawaban terpendek akan menghasilkan: "Saya menjawab nomor 1.", jawaban kedua adalah "Saya menjawab nomor 2." dll.
Ini kode golf, jadi jawaban tersingkat dalam byte akan menang.
Jawaban:
Perl, 107 byte
Sedikit kurang golf:
Contoh Penggunaan
sumber
Python 2, 145 byte
Output dari 2015-10-10 17:30:00 UTC:
Saya tidak menghitung URL apa pun untuk skor saya, jika saya harap beri komentar berapa banyak saya harus menambahkannya. Memiliki skor sendiri yang dikodekan di dalamnya, dengan asumsi skor sudah diposkan Akan rusak jika lebih dari 99 jawaban diposting.
sumber
Otomatis, 175 byte
(202 byte - 27 untuk URL)
Output dari 2015-10-09 17:47:00 UTC:
sumber
l
bukanI
, jadi saya salah baca. Satu-satunya alasan saya menyadarinya adalah dengan melihat artikel Wikipedia , yang memiliki serif.JavaScript (ES7), 149 byte
283 byte - 134 untuk URL. Saya belum pernah menggunakan permintaan HTTP sebelumnya, tapi begini ...
Diuji berhasil di Firefox 41.
Pertama ia melihat melalui header dari semua jawaban untuk menemukan byte-counts mereka, kemudian ia menemukan posisi pertama dengan byte-count
243149. Saat ini diatur untuk memeriksa hanya 100 jawaban pertama, dan akan pecah jika seseorang mendapat di bawah 100 byte, tetapi berfungsi untuk saat ini. ;)Terima kasih kepada @GeorgeReith untuk teknik yang jauh lebih pendek. Versi lama menggunakan AJAX (243 byte):
sumber
If other answers have the same number of bytes as your own, you can choose if you want to be best or worse of them.
Itu masih di pos utama; Apakah saya salah memahami sesuatu?PHP, 158
159164byte127 byte dari
'http://api.stackexchange.com/2.2/questions/60204/answers?pagesize=99&order=desc&sort=votes&site=codegolf&filter=!--pn9sqW9y0T'
tidak dihitungVersi yang diformat dengan string yang tidak dikoleksi:
$h
Urutan karakter seperti
¶Ø’ßž‘Œˆšß‘Š’šß
adalah nama konstan yang valid dalam PHP, tetapi karena konstanta tidak ada diperlakukan sebagai string literal.~
membalikkan mereka, yang ini ke"I'm answer number "
(masing-masing menyimpan byte untuk satu tanda kutip)Pemakaian
sumber
$a
variabel itu benar-benar diperlukan? Mengapa tidak Anda lakukan saja$h[]=json_decode(…)[items][+$i++][body]
? Ngomong-ngomong, apa karakter yang aneh ini?" "
(3 byte) dapat dikurangi menjadi~ß
(2 byte)json_decode
dan hanyasplit
pada':'
atau sesuatu, misalnya: codepad.org/7rZg06byJavascript (ES6), 186 byte
(335 - 149 byte untuk URL)
sumber
\x3C
bukan<
?Awk, 153 byte
Ini harus disimpan ke file
a
dan dijalankan seperti:Saya mengurangi 68 byte untuk
http://codegolf.stackexchange.com/questions/60204/how-are-you-doing
dan menambahkan 13 ke kode untuk bootstrapawk -v u=
dan-f a
.Kurang golf, ini bisa lebih pendek:
Itu selalu lebih suka dalam ikatan. Hitungan byte masing-masing dikodekan dengan keras.
Versi yang lebih golf memiliki skrip yang memanggil dirinya sendiri dan mengeluarkan nilai keluar melalui sistem. Dalam setiap kasus hanya dihitung lebih rendah dari kenaikan nilai yang dikodekan secara keras
r
, yang kemudian harus disesuaikan kembali1
jika itu mengarah.Ini akan gagal menemukan byte dengan benar jika ada spasi putih di antara
bytes
dan</h1>
dan mungkin sejumlah kasus lain yang belum saya pertimbangkan.Pada
Sun Oct 11 05:17:51 UTC 2015
, ini memberi:sumber
GNU Awk, 156 byte
(Terinspirasi oleh n0741337 's solusi AWK .)
Yang ini melakukan semuanya sendiri, tanpa menjalankan perintah eksternal.
Mengharapkan nama host dan jalur sebagai nilai yang terpisah. Mengingat mereka tersedia secara gratis, mudah-mudahan ini tidak melanggar aturan.
Contoh dijalankan:
sumber