Golf papan peringkat dari pertanyaan ini (id = 111735). Program Anda harus mengeluarkan satu permintaan HTTP atau HTTPS ke StackExchange API, menguraikannya dan menyajikannya kepada pengguna dalam bentuk yang mirip dengan Cuplikan Papan Skor khas
Contoh keluaran (untuk pertanyaan 47338 alih-alih ini):
Leaderboard
Author Language Size
1. FryAmTheEggman Pyth 19
2. Peter Taylor CJam 24
3. Martin Ender CJam 27
3. Peter Taylor GolfScript 27
5. randomra J 32
5. Optimizer CJam 32
7. Timtech TI-Basic 83/84 40
8. mollmerx k 41
9. Sp3000 ><> 45
10. Sherlock9 Ruby 47
11. Martin Ender Mathematica 49
12. Alex A. Julia 57
13. Sp3000 Python 2 58
14. Zgarb Haskell 68
15. Timtech GML 76
16. Jakube Python 2 79
16. nimi Haskell 79
18. coredump Common Lisp 91
19. Jim Large Ruby 92
Winners by Language
Language User Score
Python 2 Sp3000 58
CJam Peter Taylor 24
Julia Alex A. 57
TI-Basic 83/84 Timtech 40
><> Sp3000 45
Haskell Zgarb 68
GolfScript Peter Taylor 27
Common Lisp coredump 91
Pyth FryAmTheEggman 19
k mollmerx 41
J randomra 32
Ruby Sherlock9 47
Mathematica Martin Ender 49
GML Timtech 76
Perhatikan peringkat berulang 3, 5 dan 16. Mungkin saya bahkan akan menambahkan jawaban khusus yang tidak bersaing hanya untuk memaksa penyerahan skor duplikat yang benar dan tidak disederhanakan.
Output harus terdiri dari:
- Garis "Papan Peringkat"
- Baris "\ tAuthor \ tLanguage \ tSize"
- Untuk setiap jawaban, garis pangkat dan a yang dipisahkan tab
.
, lalu jawab nama penulis, lalu nama bahasa, lalu skor; dalam urutan naik untuk skor - Baris "Pemenang berdasarkan Bahasa"
- Baris "Bahasa \ t Pengguna \ tScore"
- Untuk setiap bahasa yang digunakan, nama bahasa yang dipisahkan tab, pembuat jawaban dengan skor lebih rendah dan skor
Dengan kata lain, sesuatu seperti seolah-olah seseorang menyalin dan menempelkan hasil potongan leaderboard pertanyaan ini ke file teks (tanpa hal-hal "\ tLink"). Lihat juga implementasi referensi dalam Python .
Aturan
- Tidak ada akses jaringan selain dari satu permintaan API ke
api.stackexchange.com
- Tidak ada penggunaan fitur atau bahasa API yang muncul setelah pengajuan pertanyaan ini.
- Baris pertama dari pos jawaban harus kompatibel dengan Papan. Jika itu merusak skrip leaderboard yang dilampirkan pada pertanyaan maka jawabannya tidak bersaing.
- Jika jawaban yang baru ditambahkan membuat beberapa jawaban yang ada rusak, maka penulis jawaban lama harus memperbaikinya (atau menjadi tidak bersaing).
- Tautan ke bahasa, mencoret skor, dll. Harus ditangani.
- Peringkat harus ditangani seperti dalam cuplikan (misalnya skor sama => peringkat sama => kesenjangan dalam peringkat).
Jawaban yang diterima adalah jawaban dengan skor terendah setelah tidak aktif dalam jumlah yang cukup (minimal 1 bulan).
Ide bagus
- Untuk menguji dengan ID pertanyaan 47338 (untuk penanganan skor rangkap + penanganan skor berganda) dan 17005 (untuk penanganan tautan). Ini menabrak jawaban dari Valid ke Good dan melindungi dari jeda dari pengiriman selanjutnya.
- Untuk memasukkan contoh output baik untuk ini dan untuk versi ID yang diganti.
Tidak perlu
- Penanganan lebih dari 100 jawaban (batas API untuk satu permintaan)
- Penanganan menimpa komentar
- Menyortir bagian "Pemenang berdasarkan Bahasa"
- Diskriminasi atas jawaban yang bersaing dan rusak
Jawaban:
Perl + Mojolicious,
468456469504 byteMenggunakan perpustakaan Mojolicious .
Tidak Disatukan:
sumber
Can't locate ojo.pm in @INC
-> Apakah itu berarti bahwa itu bukan hanya "Perl", tetapi "Perl + Mojolicious"? Tidak menggunakan pustaka non-termasuk-dengan-bahasa dianggap sebagai celah standar?Python 3,
860856 byteGolf sedikit, hanya untuk bootstrap leaderboard dan menyediakan beberapa template untuk pegolf lain:
Diindentasi dengan tab. Yang terakhir
print
sengaja tidak digantikan denganp
membuat skor dasi dengan jawaban Mathematica .Tidak Disatukan:
Catatan: belum menangani tautan dengan benar, jadi gagal untuk, misalnya, pertanyaan 17005 .
sumber
Bash + JQ, 399 byte
Catatan, ini hampir dapat dipastikan golf lebih lanjut, dengan mengoptimalkan
jq
logika ekspresi.Golf
Output Sampel
sumber
error: capture is not defined
Mathematica,
852856 byteMenggunakan
JSONTools
paket bawaan. Ini bukan jenis yang dimaksudkan untuk digunakan oleh Mathematica ... jadi saya menggunakannya!sumber
ReplaceAll::reps: <content of the downloaded Mathematica answer> is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
, setelah itu cetak{$Failed, $Failed, $Failed, $Failed, $Failed, bytes, $Failed, $Failed}}
.<h1>
)?/tmp/q.json
mana ada balasan JSON yang sudah diunduh.