To jest proste. Biorąc pod uwagę liczbę, zwróć nazwę użytkownika i wynik reputacji użytkownika stosu przepełnienia o podanym identyfikatorze . Twój program może założyć, że zawsze ma prawidłowy i istniejący identyfikator użytkownika.
Na przykład: biorąc pod uwagę dane wejściowe 764357
(które są moim ID użytkownika na StackOverflow) program zwróci LegoStormtroopr 3,088
(w przybliżeniu), że może się zmienić.
Otrzymasz URL: „ /programming//users/ ” lub „ http://api.stackexchange.com/2.1/users/ ” za darmo, więc wynik jest length of your program - 31 or 39
, w zależności od URL użyć - ale zadeklaruj, co to jest . Zapobiega to wykorzystywaniu przez osoby skracające adresy URL.
edycja: I bez wywoływania niestandardowego interfejsu API, który odpytuje Przepełnienie stosu i zwraca tylko nazwę i wynik. Ale jeśli znasz oficjalny interfejs API, jest to całkowicie uzasadnione.
edit2: Jeśli potrzebujesz przykładowego wpisu: podałem poniżej swój identyfikator, dodaj poniżej swój identyfikator, nazwę użytkownika i wynik, aby pomóc innym. Uwaga: dotyczy to głównej witryny przepełnienia stosu.
764357 returns LegoStormtroopr 3,088
źródło
http://api.stackexchange.com/2.1/users/
być również „bezpłatny”, aby uniknąć karania użytkowników interfejsu API?site=stackoverflow
część za darmo?Odpowiedzi:
Skrypt powłoki:
6451 znakówPrzykładowy przebieg:
(Pamiętaj, że musisz nacisnąć
^D
po interaktywnym wpisaniu danych wejściowych. Lub po prostu potokuj je do polecenia.)źródło
Rubin:
8470 znakówPrzykładowy przebieg:
źródło
s[/me">(.+)</,1],s[/ation".*?([\d,]+)/,1]
wydaje się, że działagrep
wyświetliłoby więcej dopasowań dla samego „ation” ”.)-ropen-uri
opcję. (Jest to obowiązkowe i uwzględniane w liczbie znaków.)Python 2.7 - 119
(150–31)
Bez wyrażenia regularnego:
źródło
Python 3, 117
117 = 148 - 31
Nie sądzę, że wyszukiwanie w zwykłym kodzie źródłowym HTML doprowadzi do silnego rozwiązania. Na przykład niektóre dziwne rzeczy w profilu mogą uszkodzić twoje rozwiązania. Chciałbym więc wyszukiwać za pomocą selektorów CSS.
źródło
JavaScript 217
Oto wersja nie golfowego Javascript, używająca oficjalnego interfejsu API z JSONP, na początek. Korzystanie z adresu URL wymagałoby XHR, co byłoby dość gadatliwe, jeśli znajdę trochę czasu, wypróbuję wersję bardziej golfową.
źródło
Perl 5 (z Mojolicious), 87–31 = 56 bajtów
Przykładowy przebieg:
Czytelny i czysty: 128–31 = 97 bajtów
Przykładowy przebieg:
źródło
-Mojo
wliczony w liczenie? To kosztuje 4 znaki.-ropen-uri
. Jednak z przyjemnością go dołączę, jeśli Twój komentarz zyska kilka głosów jako wskazówkę, że społeczność chce je policzyć.perl
jest-p
opcja jest zazwyczaj liczony +1. Na tej podstawie liczę-Mojo
+4.R: 150–31 = 119
Po prostu wybiera pierwsze wiersze zawierające
h1
(dla nazwy) i=re
(dla partytury) zagrep
pomocą argumentuvalue=TRUE
(tutajv=T
), a następnie rozdziela ciąg (używającstrsplit
znaków>
i<
. Niewygodnie odpytuje stronę dwukrotnie (stąd dwa „Czytaj n elementów” ostrzeżenia), ale to było krótsze.źródło
Tcl, (231–39) 192
nie najkrótsza droga, ale przy użyciu oficjalnego API
I w duchu pierwotnego pytania:
Znajduje użytkowników o tej reputacji
źródło
Krótszy CoffeeScript: 143 znaków (182–39)
Zależy to od interfejsu API, który zawsze zwraca klucze obiektów w tej samej kolejności, ale goli 7 znaków.
CoffeeScript: 150 znaków (189–39)
(Pamiętaj, że program wyświetla monit o „niezdefiniowany” - pyta o identyfikator użytkownika).
źródło
R - 84
84 = 115–31
Symulacja:
źródło
101100 - CoffeeScript z jQueryTutaj jest skrzypce ; po prostu wiedz, że wyświetla monit przy pierwszym otwarciu strony, więc przygotuj identyfikator lub naciśnij ponownie Uruchom.
Lub możemy być super hacky, aby uratować całą postać!
źródło
Python 2.7 - 112
112 = 143–31
Nowsza, krótka wersja, w której wykorzystano niektóre pomysły Stevena Rumbalskiego , a jednocześnie wykorzystano Regex.
133 = 164–31
Oto podstawowa wersja dla ludzi do pracy, ale jestem pewien, że ludzie mogą stać się jeszcze krótsi.
źródło
http://stackoverflow.com/users/12340
to 404.499214
zamiast12340
GNU Awk: 217 znaków
Tylko dlatego, że GNU
awk
natywnie obsługuje TCP: brak modułu / biblioteki / narzędzia zewnętrznego.Przykładowy przebieg:
źródło