Napisz program, który wypisuje zawartość pierwszego <code>...</code>
bloku HTML odpowiedzi na to pytanie, który jest tuż nad twoim, gdy odpowiedzi są sortowane według głosów. Wyjdź, Top!
jeśli jesteś najlepszą odpowiedzią.
Zignoruj odpowiedzi, które mają negatywne głosy lub nie zawierają <code>...</code>
tagów. Źródło twojego programu musi pojawić się w pierwszym <code>...</code>
bloku postu. Te bloki są tworzone automatycznie, gdy Ty use backticks
lub
indent things with 4 spaces.
To jest golf golfowy, wygrywa odpowiedź z najmniejszą liczbą postaci.
Dodatkowe zasady (zaktualizowane)
- Odpowiedz w dowolnym języku programowania, ale jeśli odpowiadasz wielokrotnie, użyj różnych języków.
- Nie możesz na stałe kodować swoich wyników. Zdolność do prawidłowego działania programu nie powinna zależeć od liczby głosów ani od powyższej odpowiedzi. Jeśli rozkład głosów zmienił się drastycznie, twój program powinien nadal poprawnie wypisywać kod odpowiedzi powyżej.
- Państwo może ciężko kod program do wyszukiwania sobie na tej stronie (tak aby znaleźć następny najwyższy) poprzez jakiś unikalny własności odpowiedź, takich jak nazwa użytkownika (jeśli masz tylko jedną odpowiedź) lub odpowiedzieć na bezpośredni link.
- Jeśli dwie odpowiedzi mają równe głosy, nadal powinieneś użyć tej tuż nad twoją (która, jak sądzę, będzie najnowsza).
- W
<code>...</code>
odpowiedzi może znajdować się wiele bloków, ale pierwszy musi zawierać źródło programu.
inline code spans
są po prostu<code></code>
, ale są odpowiednie bloki kodu<pre><code>stuff</code></pre>
.Odpowiedzi:
JavaScript + jQuery (
928664 znaków)Aby przetestować, otwórz Narzędzia deweloperskie na tej stronie (zazwyczaj F12) i uruchom mój kod!
Ten skrypt Javscript należy uruchomić za pomocą konsoli z tej strony (i tylko tej strony).
Tak krótko, że nawet nie potrzebuje paska przewijania!
Zasadniczo znajduje moją odpowiedź według identyfikatora, a następnie przesuwa się o dwa węzły do przodu (pomijając link kotwiczący). Jeśli to nie istnieje, muszę być na szczycie. Następnie kopie w dół do pierwszego
code
elementu i otrzymuje go.innerHTML
.Zaletą jest to, że SE domyślnie korzysta z jQuery, więc czerpię tę przewagę, nawet nie próbując.
źródło
alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")
.PHP
666611593588580 znakówEdycja: Używany nawet mniejszy adres URL niż wcześniej z tinyurl.
Edycja: Po komentarzu do innej odpowiedzi użyłem int, a nie boolean. Potrzebny również do poprawienia błędu, który stał się widoczny, ale teraz naprawiony.
Oto mój kod
Jestem pewien, że można to poprawić za pomocą DOMXPath i węzłów. Jednak jestem z tego bardzo zadowolony. Nie mogłem zdecydować, co zrobić w przypadku mojej, to jedyna odpowiedź, ale z tak ignorowanymi punktami -ve. Jednak opublikowano kolejną odpowiedź, więc nie ma już problemu.
Użyłem również tinyurl, aby skrócić adres URL, oszczędzając wiele znaków.
Mam nadzieję, że to lubisz,
Paweł.
PS To nie będzie działać w codepad, więc nie może pokazać skrzypce.
Edycja: zapisano jeszcze 5 z modyfikowanymi tagami php
Możesz zobaczyć, jak działa tutaj w domenie, z której obecnie nie korzystam (więc nie tylko próbuję podstępnego linku). Nie jest to jednak stały link, ale jest obecnie dostępny.
źródło
<?
zamiast niego<?php
) i pominięcie tagu zamykającego. To powinno dać ci jeszcze kilka znaków.Dart
412403Niegolfowany (cóż, z nowymi liniami i wiodącą białą spacją)
źródło
Delphi (
688 873 859 848840)Nadal będę próbował zgolić niektóre postacie, ale to zadziała :)
Edycja: zamiast
skracać to wydłużyłem: P Zapomniałem dodać ignorowanie odpowiedzi, gdy ma ujemną liczbę głosów lub nie ma bloków kodu.
Właśnie aktualizuję wersję bez gry w golfa podczas edycji.
Dzięki @manatwork za sugerowane zmiany, które usunęły 8 znaków.
Wersja golfowa:
Wersja bez golfa:
źródło
http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718
można zmienić nahttp://codegolf.stackexchange.com/q/34718
, co zaoszczędziłoby sporo znaków.TStrings
zamiast tego możesz zadeklarować l . (Ale zachowaj instancję zTStringList
.)byte
zamiastboolean
.Python - 280
To mój pierwszy codegolf, więc mam nadzieję, że to wystarczy!
Edycja: Dzięki za wskazówki! Teraz wygląda trochę bardziej golfowo.
źródło
for i,m
,m==open
itp).http://codegolf.stackexchange.com/q/34705/14509
pewno zadziałają.wc -c $filename
. Jeśli Twój edytor dołącza końcowy znak nowej linii do plików (prawdopodobnie tak jest), możesz go odjąć, aby uzyskać końcowy wynik.Mathematica - 159
Pierwszy raz parsuję w Mathematica
źródło
Rubin 283 + 17 = 300
Udaje się to bez względu na to, ile głosów otrzyma ta odpowiedź, i nie ważne, czy jest druga (lub piętnasta) strona odpowiedzi, czy nie. Korzysta z interfejsu API danych.
musi być uruchamiany z
ruby -rnet/http -rjson
(stąd +17)bez golfa:
Dziennik zmian
300 usuniętych parenów w wyrażeniu regularnym symbolu
302 wstępne zatwierdzenie
źródło
PHP 135
Edycja: skracacz URL lrn tworzy najkrótszy URL :)
RegEx dopasowuje kotwicę przed każdą odpowiedzią (wraz z identyfikatorem odpowiedzi) i zawartością wewnątrz pierwszego
<code>
znacznika.U
Flag uruchamiaU
tryb ngreedy is
makijaż flaga.
pasuje nowe linie (bardzo garść). Nie martwię się, jeśli to pasuje do czegoś innego, ponieważ odpowiedzi są unikane, więc nikt nie może wstawić<
literału w źródle strony.Po otrzymaniu wszystkich odpowiedzi
$m[2]
i ich identyfikatorów$m[1]
, po prostu używam,echo
aby wydrukować odpowiedź nad moją, gdy jest$m[2][array_search(34786,$m[1])-1]
, lub „Top!”, Jeśli moja odpowiedź w końcu będzie pierwsza :)Podoba mi się fakt, że w PHP operator trójskładnikowy może być używany jako operator zwarciowy
?:
źródło
Delphi,
461 bajtów, 553 bajtówTeraz obsługuje także wiele stron!
Gra w golfa:
(nieznacznie) Nie golfowany:
Jak uruchomić:
źródło
PHP -
412-422-416-252- 248:Nadal trwają prace, nie zrobiłem nic dotyczącego wielu stron (ani nikogo innego?)
Dostałem upuszczenie 200 znaków, wycinając wiele dodatkowych domen, po co szukać obiektów, kiedy mogę po prostu znaleźć ich pozycję?
To także mój pierwszy golf w golfa! Cieszę się, że zrobiłem to w latach dwudziestych i używam metod Dom. Dzięki komentarzom ogoliłem jeszcze 4 postacie.
Chciałem zrobić coś takiego jak jquery / jscript w odniesieniu do przechodzenia przez dom i nadal pracuję nad tym, aby to schudnąć. Może uda mi się znaleźć „asi” jako moją nazwę użytkownika?
Golf:
Sformatowany:
Twoje zdrowie
źródło
new DOMDocument()
i zamykanie?>
można pominąć.Python 3,
197191 bajtówReguły nie mówią, że nie mogę korzystać z API i że nie mogę używać skracacza adresów URL.
https://tinyurl.com/hdemk76
rozwija sięhttps://api.stackexchange.com/2.2/questions/34705/answers?order=desc&sort=votes&site=codegolf&filter=withbody&pagesize=100
Działa to tylko wtedy, gdy znajduje się w 100 najlepszych odpowiedziach posortowanych według głosów.źródło
https://tinyurl.com/hdemk76
sięhttp://bit.ly/2hN8TKV