Schreiben Sie ein Programm, das den Inhalt des ersten HTML- <code>...</code>
Blocks der Antwort auf diese Frage ausgibt, der direkt über Ihrer liegt, wenn die Antworten nach Stimmen sortiert sind. Ausgabe, Top!
wenn Sie die beste Antwort sind.
Ignoriere Antworten, die negative Stimmen oder keine <code>...</code>
Tags haben. Die Quelle Ihres Programms muss im ersten <code>...</code>
Block Ihres Beitrags stehen. Diese Blöcke werden automatisch erstellt, wenn Sie use backticks
oder
indent things with 4 spaces.
Das ist Code-Golf, die Antwort mit den wenigsten Zeichen gewinnt.
Zusätzliche Regeln (aktualisiert)
- Antworten Sie in einer beliebigen Programmiersprache. Wenn Sie jedoch mehrmals antworten, verwenden Sie unterschiedliche Sprachen.
- Sie können Ihre Ausgabe nicht hart codieren. Die Fähigkeit Ihres Programms zur korrekten Ausführung sollte nicht von der Anzahl der abgegebenen Stimmen oder der obigen Antwort abhängen. Wenn sich die Stimmenverteilung drastisch ändert, sollte Ihr Programm den Code der Antwort darüber immer noch korrekt ausgeben.
- Sie können Ihr Programm so programmieren, dass es auf dieser Seite nach sich selbst sucht (um die nächsthöhere zu finden). Dies geschieht über eine eindeutige Eigenschaft Ihrer Antwort, z. B. Ihren Benutzernamen (wenn Sie nur eine Antwort haben) oder den direkten Link der Antwort.
- Wenn zwei Antworten die gleichen Stimmen haben, sollten Sie immer noch die über Ihrer Stimme verwenden (von der ich glaube, dass sie die neueste sein wird).
- Sie können mehrere
<code>...</code>
Blöcke in Ihrer Antwort haben, aber der erste muss die Quelle Ihres Programms enthalten.
inline code spans
nur der Fall ist<code></code>
, aber es sind die richtigen Codeblöcke<pre><code>stuff</code></pre>
.Antworten:
Javascript + jQuery (
928664 Zeichen)Öffnen Sie zum Testen die Dev Tools auf dieser Seite (normalerweise F12) und führen Sie meinen Code aus!
Dieses Javscript muss über die Konsole auf dieser Seite (und nur auf dieser Seite) ausgeführt werden.
So kurz, es braucht nicht einmal eine Bildlaufleiste!
Im Grunde findet es meine Antwort anhand der ID und bringt dann zwei Knoten voran (Überspringen des Ankerlinks). Wenn das nicht existiert, muss ich oben sein. Dann gräbt es nach dem ersten
code
Element und bekommt es.innerHTML
.Das Schöne ist, dass SE standardmäßig jQuery verwendet, sodass ich diesen Vorteil nutzen kann, ohne es zu versuchen.
quelle
alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")
.PHP
666611593588580 ZeichenBearbeiten: Verwendet noch kleinere URL als bisher von tinyurl.
Edit: Nach dem Kommentar zu einer anderen Antwort habe ich int anstatt boolean verwendet. Außerdem musste ein Fehler behoben werden, der offensichtlich wurde, aber jetzt behoben wurde.
Hier ist mein Code
Ich bin sicher, dass dies mit DOMXPath und Nodes verbessert werden kann. Bin aber ganz zufrieden damit. Ich konnte mich nicht entscheiden, was ich tun soll, ist die einzige Antwort, aber mit -ve Punkten, die so ignoriert werden. Es wurde jedoch eine andere Antwort gepostet, so dass dies kein Problem mehr darstellt.
Ich habe auch tinyurl verwendet, um die URL zu verkürzen und viele Zeichen zu speichern.
Ich hoffe du magst es,
Paul.
PS Dies wird nicht im Codepad ausgeführt, kann also keine Geige anzeigen.
Bearbeiten: 5 weitere gespeichert, wobei die PHP-Tags geändert wurden
Sie können sehen, dass es hier auf einer Domain funktioniert , die ich momentan nicht benutze (also versuche ich nicht nur einen hinterhältigen Link). Dies ist zwar kein permanenter Link, ist aber derzeit verfügbar.
quelle
<?
stattdessen<?php
) und das schließende Tag wegzulassen. Das sollte dir ein paar Zeichen mehr lassen.Dart
412403Ungolfed (gut, mit Zeilenumbrüchen und führenden Leerzeichen)
quelle
Delphi (
688 873 859 848840)Ich werde immer noch versuchen, einige Charaktere abzuschaben, aber es wird den Job machen :)
Bearbeiten: anstatt es kürzer zu machen, habe ich es länger gemacht: P
Ich habe vergessen, das Ignorieren von Antworten hinzuzufügen, wenn es einen negativen Votecount oder keine Codeblöcke hat.
Ich aktualisiere gerade die nicht golfene Version, während ich sie bearbeite.
Vielen Dank an @manatwork für die vorgeschlagenen Änderungen, bei denen 8 Zeichen entfernt wurden.
Golf Version:
Ungolfed-Version:
quelle
http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718
kann in geändert werdenhttp://codegolf.stackexchange.com/q/34718
, wodurch eine ganze Reihe von Zeichen eingespart werden.TStrings
statt. (Aber behalten Sie die Instanziierung beiTStringList
.)byte
anstelle von zu machenboolean
.Python - 280
Dies ist mein erster Codegolf, also hoffe ich, dass dies Golf genug ist!
Edit: Danke für die Tipps! Es sieht jetzt ein bisschen golfer aus.
quelle
for i,m
,m==open
usw.).http://codegolf.stackexchange.com/q/34705/14509
würden aber definitiv funktionieren.wc -c $filename
. Wenn Ihr Editor eine abschließende neue Zeile an Dateien anfügt (wahrscheinlich auch), können Sie eine davon abziehen, um Ihre endgültige Punktzahl zu erhalten.Mathematica - 159
Parsing zum ersten Mal in Mathematica
quelle
Rubin 283 + 17 = 300
Dies gelingt unabhängig davon, wie wenige Stimmen diese Antwort erhält und ob es eine zweite (oder fünfzehnte) Seite mit Antworten gibt oder nicht. Es verwendet die Daten-API.
muss mit laufen
ruby -rnet/http -rjson
(daher die +17)ungolfed:
Änderungsprotokoll
300 entfernte Parens in Symbol Regex
302 Initial Commit
quelle
PHP 135
Edit: lrns URL Shortener erzeugt die kürzeste URL :)
Der RegEx vergleicht den Anker vor jeder Antwort (zusammen mit der Antwort-ID) und den Inhalt des ersten
<code>
Tags. DasU
Flag löst denU
Ngreedy-Modus aus und dass
Flag make.
gleicht neue Zeilen ab (sehr wenige). Ich mache mir keine Sorgen, wenn dies mit etwas anderem übereinstimmt, da die Antworten ausgeblendet werden, sodass niemand das<
Literal in die Quelle der Seite einfügen kann .Nachdem ich alle Antworten
$m[2]
und deren IDs erhalten habe$m[1]
, drucke ichecho
die Antwort einfach über meiner aus, so wie sie ist$m[2][array_search(34786,$m[1])-1]
, oder "Oben!", Wenn meine Antwort irgendwann zuerst kommt :)Ich mag die Tatsache, dass in PHP der ternäre Operator als Kurzschlussoperator verwendet werden kann
?:
quelle
Delphi,
461 Bytes, 553 BytesVerarbeitet jetzt auch mehrere Seiten!
Golf gespielt:
(leicht) ungolfed:
Wie läuft man:
quelle
PHP -
412-422-416-252- 248:Ich bin noch in Arbeit und habe noch nichts in Bezug auf mehrere Seiten getan (noch jemand anderes?)
Ich habe die 200 Zeichen verloren, weil ich eine Menge Dom herausgeschnitten habe. Warum nach Objekten suchen, wenn ich nur ihre Position finden kann?
Dies ist auch mein erster Code Golf! Ich bin froh, dass ich es in den 200ern gemacht habe und dom-Methoden verwendet habe. Dank Kommentaren habe ich gerade 4 weitere Charaktere rasiert.
Ich wollte etwas wie jquery / jscript in Bezug auf das Überqueren des Doms machen und arbeite immer noch daran, dies abzumildern. Vielleicht könnte ich mit der Suche nach "asi" als Benutzername davonkommen?
Golf:
Formatiert:
Prost
quelle
new DOMDocument()
und das Schließen?>
können in PHP weggelassen werden.Python 3,
197 -191 BytesDie Regeln besagen nicht, dass ich die API nicht verwenden kann und dass ich keinen URL-Shortener verwenden kann.
https://tinyurl.com/hdemk76
Erweitert aufhttps://api.stackexchange.com/2.2/questions/34705/answers?order=desc&sort=votes&site=codegolf&filter=withbody&pagesize=100
Dies funktioniert nur, wenn es in den Top 100 Antworten nach Stimmen sortiert ist.quelle
https://tinyurl.com/hdemk76
durchhttp://bit.ly/2hN8TKV