Martin hat ein schönes Snippet erstellt , mit dem Sie die Punktzahl für Antworten auf Herausforderungen verfolgen können. Das ist großartig, aber wäre es nicht besser, wenn Sie selbst den Überblick behalten könnten?
Erstellen Sie ein Programm, das die Anzahl der Bytes an sich mit den restlichen Antworten auf diese Frage vergleicht und "Ich bin die Antwortnummer n" zurückgibt.
Regeln:
Die Byteanzahl in Ihrer eigenen Antwort kann im Code fest codiert werden
Die Funktion kann die URL als Eingabe verwenden oder sie kann fest codiert sein. Die Zeichen für die URL werden nicht für die Byteanzahl gezählt, daher ist die Verwendung eines URL-Kürzers nicht erforderlich.
URL-Adressen zu Antworten können nicht fest codiert werden
Die Punktzahl für die Antworten finden Sie in der Kopfzeile (genau wie in Martins Snippet).
Der Antwortkopf muss das richtige Format haben (siehe unten).
Wenn es möglich ist, das Programm online auszuführen, teilen Sie uns bitte einen Link zu einem Online-Compiler (oder ein Code-Snippet, das aus der Antwort ausgeführt werden kann). Wenn dies nicht möglich ist, zeigen Sie bitte, wie die Funktion aufgerufen wird, und zeigen Sie die Ausgabe Ihres eigenen Compilers an (zum Zeitpunkt der Veröffentlichung der Antwort. Sie müssen sie nicht aktualisieren, es sei denn, Sie möchten es natürlich).
Sie müssen die Antwort tatsächlich mit den anderen Antworten auf diese Frage vergleichen. Es
I'm answer number 1.
ist nicht legal , ein Skript in einer bestimmten Sprache zu schreiben .Wenn andere Antworten die gleiche Anzahl von Bytes haben wie Sie, können Sie wählen, ob Sie der Beste oder der Schlechteste von ihnen sein möchten.
Der Header muss formatiert sein:
# Language Name, N bytes
Durchgestrichen usw. können nicht verwendet werden. Wenn sich die Codegröße ändert, zeigen Sie sie in Fettdruck unter der Überschrift an oder geben Sie sie auf andere Weise an.
Die Ausgabe muss sein I'm answer number n.
, wobei die Nummer n
die Position ist (nachfolgende Zeilenumbrüche / Leerzeichen sind OK). Die kürzeste Antwort lautet also "Ich bin die Antwort Nummer 1.", die zweite "Ich bin die Antwort Nummer 2." etc.
Dies ist Codegolf, daher gewinnt die kürzeste Antwort in Bytes.
Antworten:
Perl, 107 Bytes
Etwas weniger Golf gespielt:
Beispielnutzung
quelle
Python 2, 145 Bytes
Ausgabe von 2015-10-10 17:30:00 UTC:
Ich habe keine URL für meine Punktzahl gezählt. Bitte geben Sie an, wie viel ich hinzufügen soll. Hat eine eigene Partitur, setzt voraus, dass sie bereits veröffentlicht ist. Bricht ab, wenn mehr als 99 Antworten gepostet werden.
quelle
AutoIt, 175 Bytes
(202 Bytes - 27 für die URL)
Ausgabe vom 09.10.2015 17:47:00 UTC:
quelle
l
anstelle einesI
, also habe ich ihn falsch gelesen. Der einzige Grund, warum mir das aufgefallen ist, ist der Wikipedia-Artikel mit einer Serife.JavaScript (ES7), 149 Byte
283 Bytes - 134 für die URL. Ich habe noch nie zuvor HTTP-Anfragen verwendet, aber hier geht es weiter ...
In Firefox 41 erfolgreich getestet.
Zuerst werden die Überschriften aller Antworten durchsucht, um die Anzahl der Bytes zu ermitteln. Anschließend wird die erste Position mit der Anzahl der Bytes
243149 ermittelt. Derzeit werden nur die ersten 100 Antworten überprüft, und es wird ein Fehler angezeigt, wenn jemand unter 100 fällt Bytes, aber es funktioniert jetzt. ;)Vielen Dank an @GeorgeReith für die viel kürzere Technik. Alte Version mit AJAX (243 Bytes):
quelle
If other answers have the same number of bytes as your own, you can choose if you want to be best or worse of them.
Das ist noch im Hauptpost; verstehe ich etwas falsch?PHP, 158
159164Bytes127 Bytes von
'http://api.stackexchange.com/2.2/questions/60204/answers?pagesize=99&order=desc&sort=votes&site=codegolf&filter=!--pn9sqW9y0T'
nicht gezähltFormatierte Version mit ungolfed Saiten:
$h
Die Zeichenfolgen wie
¶Ø’ßž‘Œˆšß‘Š’šß
sind in PHP gültige Konstantennamen, aber da die Konstanten nicht existieren, werden sie als Zeichenfolgenliteral behandelt.~
invertiert sie, diesmal in"I'm answer number "
(Speichern eines Bytes für jeweils ein Anführungszeichen)Verwendung
quelle
$a
Variable wirklich notwendig? Warum machst du das nicht einfach$h[]=json_decode(…)[items][+$i++][body]
? Was sind das für seltsame Charaktere?" "
(3 Bytes) auf~ß
(2 Bytes) reduziert werdenjson_decode
und nursplit
auf':'
oder so überspringst , zB: codepad.org/7rZg06byJavascript (ES6), 186 Byte
(335 - 149 Bytes für die URL)
quelle
\x3C
anstelle von verwendet<
?Awk, 153 Bytes
Dies sollte in einer Datei gespeichert
a
und wie folgt ausgeführt werden:Ich subtrahiere die 68 Bytes für
http://codegolf.stackexchange.com/questions/60204/how-are-you-doing
und addiere 13 zum Code für das Bootstrappingawk -v u=
und-f a
.Weniger Golf, das kann noch kürzer sein:
Es zieht sich immer in Bindungen vor. Die Anzahl der Bytes ist jeweils fest codiert.
Bei der Golf-Version ruft das Skript sich selbst auf und gibt den Exit-Wert über das System aus. In jedem Fall zählt nur weniger als das fest codierte Wertinkrement
r
, auf das dann zurückgestellt werden muss,1
wenn es führt.Dadurch werden die Bytes nicht richtig gefunden, wenn zwischen
bytes
und</h1>
und wahrscheinlich eine Reihe anderer Fälle vorhanden sind, die ich nicht berücksichtigt habe.Ab
Sun Oct 11 05:17:51 UTC 2015
diesem gibt dies:quelle
GNU Awk, 156 Bytes
(Inspiriert von der Awk-Lösung von n0741337 .)
Dieser erledigt alles selbst, ohne einen externen Befehl auszuführen.
Erwartet Hostname und Pfad als separate Werte. Da sie kostenlos zur Verfügung stehen, verstößt dies hoffentlich nicht gegen die Regeln.
Probelauf:
quelle