Golfen Sie die Rangliste dieser Frage (id = 111735). Ihr Programm sollte eine HTTP- oder HTTPS-Anforderung an die StackExchange-API senden, diese analysieren und dem Benutzer in einer Form präsentieren, die einem typischen Leaderboard-Snippet ähnelt
Beispielausgabe (für die Frage 47338 stattdessen):
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
Beachten Sie die wiederholten Ränge 3, 5 und 16. Vielleicht füge ich sogar eine spezielle nicht konkurrierende Antwort hinzu, um die korrekte, nicht vereinfachte Übergabe der Partiturduplikate zu erzwingen.
Die Ausgabe sollte bestehen aus:
- Die Zeile "Leaderboard"
- Die Zeile "\ tAuthor \ tLanguage \ tSize"
- Für jede Antwort eine durch Tabulatoren getrennte Ranglinie und a
.
, dann Antwort Autorenname, dann Sprachname, dann Punktzahl; in aufsteigender Reihenfolge für die Punktzahl - Die Zeile "Gewinner nach Sprache"
- Die Zeile "Language \ tUser \ tScore"
- Für jede verwendete Sprache, durch Tabulatoren getrennter Sprachname, Autor der Antwort mit niedrigerer Punktzahl und Punktzahl
Mit anderen Worten, so etwas wie das Ergebnis des Leaderboard-Snippets dieser Frage in eine Textdatei (ohne "\ tLink" -Dinge) zu kopieren und einzufügen. Siehe auch die Referenzimplementierung in Python .
Regeln
- Kein Netzwerkzugriff außer einer API-Anfrage an
api.stackexchange.com
- Keine Verwendung von API-Funktionen oder Sprachen, die nach dem Absenden dieser Frage angezeigt wurden.
- Die erste Zeile des Antwortposts sollte Leaderboard-kompatibel sein. Wenn das der Frage beigefügte Leaderboard-Skript beschädigt wird, ist die Antwort nicht konkurrierend.
- Wenn durch eine neu hinzugefügte Antwort eine vorhandene Antwort beschädigt wird, sollte der Autor der alten Antwort diese beheben (oder sie wird nicht mehr konkurrierend).
- Links zu Sprachen, durchgestrichenen Partituren usw. sollten behandelt werden.
- Ränge sollten wie im Snippet behandelt werden (z. B. gleiche Punktzahl => gleicher Rang => Ranglücke).
Akzeptierte Antwort ist die Antwort mit der niedrigsten Punktzahl nach ausreichender Inaktivität (mindestens 1 Monat).
Gute Idee
- Zum Testen mit den Fragen-IDs 47338 (für die Behandlung doppelter Punkte + durchgestrichene Punktebehandlung) und 17005 (für die Behandlung von Links). Dies erhöht die Antwort von "Gültig" auf "Gut" und schützt vor Unterbrechungen durch spätere Einreichungen.
- Aufnahmebeispiele sowohl für diese als auch für überschriebene ID-Versionen.
Nicht nötig
- Bearbeitung von mehr als 100 Antworten (API-Limit für Einzelanforderung)
- Behandlung von Kommentarüberschreibungen
- Sortierung des Abschnitts "Gewinner nach Sprache"
- Diskriminierung konkurrierender und gebrochener Antworten