Dies ist eine einfache. Geben Sie nach Eingabe einer Zahl den Namen und die Reputationsbewertung des Stack Overflow-Benutzers mit der angegebenen ID zurück . Ihr Programm kann davon ausgehen, dass es immer eine gültige und vorhandene Benutzerkennung erhält.
Beispiel: 764357
Angesichts der Eingabe (die meine Benutzer-ID für StackOverflow ist) würde das Programm LegoStormtroopr 3,088
(ungefähr) zurückgeben, dass es möglicherweise geändert wird.
Sie erhalten die URL: „ /programming//users/ “ oder „ http://api.stackexchange.com/2.1/users/ “ kostenlos, so dass Ihre Punktzahl ist length of your program - 31 or 39
, je nachdem , welche URL Sie verwenden - aber erkläre was es ist . Dies verhindert, dass Personen URL-Kürzungen missbrauchen.
Bearbeiten: Und kein Aufruf einer benutzerdefinierten API, die den Stapelüberlauf abfragt und nur den Namen und die Punktzahl zurückgibt. Wenn Sie jedoch eine offizielle API kennen, ist dies absolut legitim.
edit2: Wenn Sie eine Beispieleingabe benötigen: Ich habe unten meine ID angegeben, können Sie unten Ihre eigene ID, Ihren Benutzernamen und Ihre Punktzahl hinzufügen, um anderen zu helfen. Beachten Sie erneut, dass dies für die Haupt-Stack Overflow-Site gilt.
764357 returns LegoStormtroopr 3,088
quelle
http://api.stackexchange.com/2.1/users/
auch "frei" sein, um die Benutzer der API nicht zu benachteiligen?site=stackoverflow
Teil auch kostenlos bekommen?Antworten:
Shell-Skript:
6451 ZeichenProbelauf:
(Beachten Sie, dass Sie drücken müssen,
^D
nachdem Sie die Eingabe interaktiv eingegeben haben. Oder leiten Sie sie einfach an den Befehl weiter.)quelle
Ruby:
8470 ZeichenProbelauf:
quelle
s[/me">(.+)</,1],s[/ation".*?([\d,]+)/,1]
scheint zu funktionierengrep
würde mehr Übereinstimmungen nur für "ation" anzeigen.)-ropen-uri
Option weggelassen . (Es ist obligatorisch und in der Anzahl der Zeichen enthalten.)Python 2.7 - 119
(150 - 31)
Ohne Regex:
quelle
Python 3, 117
117 = 148 - 31
Ich denke nicht, dass die Suche in einfachem HTML-Quellcode zu einer starken Lösung führt. Zum Beispiel können einige seltsame Dinge in Ihrem Profil Ihre Lösungen zum Scheitern bringen. Ich möchte also mit CSS-Selektoren suchen.
quelle
Javascript 217
Hier ist eine ungolfed Javascript Version mit der offiziellen API mit JSONP, um damit zu beginnen. Die Verwendung der URL würde XHR erfordern, was ziemlich ausführlich sein würde, wenn ich etwas Zeit finde, werde ich jedoch eine Golf-Version ausprobieren.
quelle
Perl 5 (mit Mojolicious), 87 - 31 = 56 Bytes
Probelauf:
Lesbar und sauber: 128 - 31 = 97 Bytes
Probelauf:
quelle
-Mojo
in der Zählung enthalten? Das kostet 4 Zeichen.-ropen-uri
. Ich freue mich jedoch, wenn Ihr Kommentar ein paar positive Stimmen erhält, um anzuzeigen, dass die Community diese zählen möchte.perl
Die-p
Option wird normalerweise mit +1 bewertet. Darauf-Mojo
aufbauend zähle ich +4.R: 150-31 = 119
Einfach die ersten Zeilen, die
h1
(für den Namen) und=re
(für die Punktzahl) enthalten,grep
mit dem Argumentvalue=TRUE
(hierv=T
) auswählen und dann die Zeichenfolge (mit denstrsplit
Zeichen>
und ) aufteilen<
. Warnungen), aber das war kürzer.quelle
Tcl, (231 - 39) 192
Nicht der kürzeste Weg, aber mit der offiziellen API
Und im Geiste der ursprünglichen Frage:
Findet Benutzer mit diesem Ruf
quelle
Kürzere CoffeeScript: 143 Zeichen (182 - 39)
Dies setzt voraus, dass die API die Objektschlüssel immer in derselben Reihenfolge zurückgibt, jedoch 7 Zeichen spart.
CoffeeScript: 150 Zeichen (189 - 39)
(Beachten Sie, dass Sie das Programm zur Eingabe von "undefined" auffordert - es fragt nach der Benutzer-ID.)
quelle
R - 84
84 = 115 - 31
Simulation:
quelle
101100 - CoffeeScript mit jQueryHier ist eine Geige ; Sie müssen lediglich wissen, dass Sie beim ersten Öffnen der Seite dazu aufgefordert werden. Halten Sie also eine ID bereit, oder drücken Sie erneut auf Ausführen.
Oder wir können supergeil sein, um einen ganzen Charakter zu retten!
quelle
Python 2.7 - 112
112 = 143 - 31
Eine neuere, kurze Version, die einige der Ideen von Steven Rumbalski verwendet , während Regex verwendet wird.
133 = 164 - 31
Hier ist eine Basisversion, von der aus die Leute arbeiten können, aber ich bin sicher, dass die Leute noch kürzer werden können.
quelle
http://stackoverflow.com/users/12340
ist 404.499214
statt12340
GNU Awk: 217 Zeichen
Nur weil GNU
awk
TCP nativ unterstützt: kein Modul / Bibliothek / externes Tool.Probelauf:
quelle