Tulis program / fungsi yang mengembalikan penghitungan suara jawaban Stack Exchange sendiri pada saat eksekusi.
- Program / fungsi Anda dapat mengakses halaman ini ( codegolf.stackexchange.com/questions/82609 ) dari internet, namun:
- Program / fungsi Anda mungkin tidak menerima input pengguna dan
- Penggunaan penyingkat URL tidak diizinkan
- Program / fungsi Anda hanya dapat menggunakan sumbernya sendiri sebagai titik referensi untuk penghitungan suaranya (misalnya: tidak ada referensi string teks dalam jawaban yang terkandung tetapi tidak dalam sumbernya sendiri)
- Program / fungsi Anda harus menampilkan penghitungan suaranya sendiri dan hanya penghitungan suaranya sendiri (misalnya: tidak mengembalikan semua penghitungan suara di halaman ini)
Ini adalah kode-golf, kode terpendek yang menang.
code-golf
quine
internet
stack-exchange-api
Dendrobium
sumber
sumber
perl -e'($_)=`curl -s http://api.stackexchange.com/2.2/posts/123?site=codegolf`;/score":(\d+)/&&print$1'
Sepertinya itu harus bekerja, tetapi tidak. Tapi mungkin seseorang bisa menggunakannya.using its own source
bit untuk mencegah pengguna mengatur halaman agar lebih mudah menemukan dirinya sendiri tanpa berkontribusi pada jumlah byte-nya, dalam hal jawabannya tidak menggunakan metode post id.Jawaban:
jQuery + JavaScript, 85 byte
Sejarah
data
bukand
.Penggunaan yang disarankan
Bonus !!
Siapa yang tidak suka bonus?
Masukkan ID ke dalam bonus dan itu akan memberi tahu Anda skor.
Bonus lebih banyak lagi !! Jalankan cuplikan ini untuk secara otomatis menjalankan program, upvote, dan jalankan lagi! (Membutuhkan perwakilan> 15, auth). Jika tidak berhasil, tolong beri tahu saya.sumber
posts
bukannyaanswers
danhttp
bukannyahttps
menyimpan tiga byte (atau mungkin Anda bisa menghilangkanhttp:
sama sekali?). (Belum diuji.)http://
dan itu akan mengarahkan ulang 301 kehttps://
Better yet, cukup hapus http sama sekali//api.stackexchange.com...
$.get
sebagai ganti$.getJSON
. Jenis konten API adalahapplication/json
, dan jQuery akan secara otomatis memperlakukan respons sebagai JSON.JavaScript ES6, 107 byte
Pemrogram sungguhan tidak menggunakan
XMLHttpRequest
. Pemrogram sungguhan menggunakan Fetch API .sumber
fetch
tidak didefinisikanBash,
80797569 byteUntuk tujuan penilaian,
\t
harus diganti dengan karakter TAB.Ini membutuhkan
w3m
, yang seharusnya tersedia secara default di sebagian besar distro Linux.Terima kasih kepada @NoOneIsHere untuk -2 byte!
Bagaimana itu bekerja
w3m
adalah browser web baris perintah. Itu pertanyaan URL dan (biasanya) menampilkan kontennya dalam format yang dapat dibaca. Di sini, kami hanya (ab) menggunakannya untuk menghindari panggilan kezcat
yangcurl
akan membutuhkan, karena SE melayani respons API yang dikompresi gzip.tr ,: \^I
mengganti semua koma dan titik dua dengan tab, yang merupakancut
pembatas bidang default.Akhirnya,
cut -f20
hapus semuanya kecuali bidang kedua puluh, yang merupakan penghitungan suara.sumber
--compressed
, yang bahkan lebih lama dari ituzcat
.JavaScript ES6,
175165160145 byteLotsa byte tersimpan berkat Pengoptimal dan Dendrobium! Mereka semua adalah kelipatan lima!
Menggunakan javascript ol sederhana. Siapa yang butuh perpustakaan bermodel baru itu? Gunakan programmer nyata
XMLHttpRequest()
Uji itu
sumber
prompt
?"g"
tidak berfungsi sebagai opsi bagi saya.with(new XMLHttpRequest)(open("get","//api.stackexchange.com/2.2/posts/82614?site=codegolf"),onload=_=>alert(response.items[0].score),send(responseType="json"))
untuk -5 bytewith
TypeError: response.split(...)[12] is undefined",
bash + jq , 69 byte
Saya menggunakan
curl
danzcat
sebelumnya;w3m
terinspirasi oleh jawaban Dennis (sangat mirip). Ternyatajq
dantr
/cut
memiliki biaya byte yang sama!sumber
Convex 0,5, 63 bytes
Ini mengambil skor dari halaman pencarian alih-alih API, khususnya dari permintaan https://codegolf.stackexchange.com/search?q=inquestion:82714 . Untung,
inquestion
juga berfungsi untuk jawaban.Verifikasi
Bagaimana itu bekerja
sumber
05AB1E ,
898781 byteTerima kasih Python ...
Menggunakan pengkodean CP-1252 .
sumber
MATLAB, 103 byte
sumber
JavaScript (Node.js + Unirest ), 123 byte
Saya suka perpustakaan ini, karena secara otomatis mem-parsing JSON.
sumber
Julia,
128107 byteIni adalah fungsi yang tidak mengambil input dan mengembalikan skor posting ini sebagai string. Ini membutuhkan
Requests
paket yang harus diinstal.Bagaimana itu bekerja:
get
membuat permintaan GET ke API SEreadall
membaca byte mentah dalam respons dan mengembalikan stringsplit
memisahkan string pada titik dua dan komaDisimpan 21 byte berkat Dennis!
sumber
JavaScript (Node.js), 166 Bytes
-1 byte karena @ CᴏɴᴏʀO'Bʀɪᴇɴ mengajari saya cara menghitung;)
-4 byte terima kasih kepada @NoOneIsHere
Ini agak memalukan. Berani SE untuk gzipping API Anda! / s
Setiap perbaikan sangat disambut.
sumber
PHP, 137 byte
Cukup lurus ke depan. Pengompresan membutuhkan banyak byte:
Tidak disatukan
sumber
PHP, 121 byte
Tanpa api.
Dapatkan seluruh pos dan ekstrak penghitungan suara dengan regex. (jangan parsing HTML dengan regex!)
Tidak Disatukan:
sumber
http:
?05AB1E , 45 byte
Tidak ada TIO untuk keseluruhan program, karena
.w
bawaan untuk mengakses internet tidak berfungsi pada TIO.Penjelasan:
Kami mulai dengan membuat url, dan mengaksesnya:
Cobalah online (tanpa
.w
).Setelah itu, kami mengekstrak skor dari JSON:
Cobalah online.
Alternatif 10 byte yang setara untuk bagian kedua ini bisa berupa:
Cobalah online.
Lihat ini 05AB1E ujung tambang (bagian Cara menggunakan kamus? Dan Cara kompres bilangan bulat besar? ) Untuk memahami mengapa
•2íЕ
adalah190437
,’¸¸.‚‹º.ŒŒ/„¤/ÿ?€¼=ƒËŠˆ’
adalah"api.stackexchange.com/posts/ÿ?site=codegolf"
,'ŒÂ
adalah"score"
, dan„ŒÂ‚¡
ini"score after"
.PS / EDIT: Saya menyadari bahwa dengan menggunakan
þ
Saya menganggap saya tidak akan pernah mendapatkan skor negatif. ;)sumber