Napisz program lub funkcję, która wypisze całkowitą liczbę odpowiedzi na to pytanie. Twoje rozwiązanie powinno nadal działać w miarę dodawania kolejnych odpowiedzi.
Języki działające w przeglądarce mogą być uruchamiane z konsoli js na tej stronie. W przeciwnym razie prawdopodobnie będziesz musiał pobrać tę stronę. Rozwiązania wielojęzyczne, np wget
. Przeglądanie strony i analizowanie jej przy użyciu, grep
są w porządku. Wystarczy podsumować wiersz poleceń i wszystkie użyte źródła.
To jest kod golfowy; najkrótsza odpowiedź w bajtach wygrywa.
EDYTOWAĆ:
Pozwólmy, aby maksymalnie jeden adres URL tej strony się nie liczył, ani jako dane wejściowe, ani w źródle. Brak skracaczy adresów URL, brak danych zapisywanych jako parametry pobierania itp. Liczby wokół adresu URL, w razie potrzeby, nadal się liczą. Pobieranie adresu URL również jest w porządku. Jeśli chcesz usunąć część adresu URL, np. /how-many-answers...
Możesz, ale prawdopodobnie to ci nie pomoże.
http://...
pojawia się dosłownie w kodzie źródłowym.Odpowiedzi:
JavaScript + jQuery, 23 bajty
źródło
h2>span
w treści znajduje się wyzwanie?Mathematica, 33 bajty
Dane wejściowe to adres URL tej strony.
źródło
Python 2, 120 bajtów, 79 bez adresu URL
Nie mogę powiedzieć, że Python został stworzony do tego wyzwania.
Niestety import wbudowany ma tę samą długość :(
Jakakolwiek pomoc w grze w golfa byłaby bardzo mile widziana!
Jeśli jako dane wejściowe można przyjąć adres URL (aż 41 bajtów - ponad 1/3 mojej liczby bajtów), to ma on 82 bajty:
źródło
requests
bibliotekiimport urllib
naimport urllib as u
, możesz zapisać 3 bajtyJavaScript, 67 bajtów
To spojrzenie jest o wiele za długie
źródło
JavaScript (ES5),
4644403833 bajtów5 bajtów zaoszczędzonych dzięki Ismael Miguel
Uwaga: Jest to dość powolne i nie będzie działać, jeśli masz skrypt użytkownika PPCG-Design.
źródło
parseInt($('#answers').text())
, który zadziała. To oszczędza ci kilka bajtów.CJam, 15 bajtów
Oczekuje, że adres URL tej strony zostanie wprowadzony.
Jak to działa
źródło
171 bajtów bash + 3 klucze ryś
źródło
http:// ...
zhttp://codegolf.stackexchange.com/q/96298
99 bajtów sh + curl + jq + stackexchange API
Korzystając z interfejsu API, udało mi się uniknąć problemów związanych z formatowaniem strony i HTML. Niestety, 60 bajtów mojej odpowiedzi to maksymalnie golfowy adres URL dla tego konkretnego zapytania API, a kolejne 13 bajtów na curl do rozpakowania wyniku zapytania, ponieważ stackexchange odmawia podania nieskompresowanych danych przez API.
Rzeczywista „logika” pochodzi z zwijania interfejsu API z prośbą o odpowiedź jsona z odpowiedziami na ten post. Jest to rozpakowywane, a następnie przesyłane do jq, parsera json, który wyodrębnia tablicę „items” i wyświetla jej długość.
Możesz imponująco zbliżyć się do tego, aby interfejs API po prostu zwrócił liczbę odpowiedzi, ale z tego, co mogłem wymyślić, nie można uzyskać 100% drogi, a zbliżenie się do niego kosztowałoby więcej bajtów niż tylko przepuszczenie go przez jq.
101 bajtów do zwrócenia {„total”:}:
Parametr filtru w zapytaniach interfejsu API jest bardzo wydajny, ale nie wystarcza, aby zapewnić rozwiązanie „just curl a url”. Może być tutaj środek, gdzie można uzyskać krótszą odpowiedź, a następnie policzyć wiersze lub wyodrębnić liczbę, ale niestety łańcuchy filtrów mają ustaloną długość, a wymagana komenda jq była już bardziej wydajna.
źródło
curl -sL --compressed bit.ly/2ebw404|jq .total
PHP, 76 (kod) + 41 (URL) = 117 bajtów
źródło
Java,
230269–41 = 228 bajtów(Zlicza tylko nieusunięte odpowiedzi)
źródło
JavaScript + jQuery (już zawarte na stronie), 20 bajtów
Jest to program przeznaczony do uruchomienia w konsoli dla bieżącej strony (otwartej za pomocą F12). Wyświetla liczbę odpowiedzi bez cudzysłowów. Działa w Chrome, Firefox, IE11 i Edge. Powinien działać w innych przeglądarkach, ale przetestowałem go tylko w tych wymienionych.
W przeciwieństwie do innych rozwiązań tutaj kod JavaScript, to program sam w sobie, a nie wyrazem funkcji za pomocą notację funkcji strzałki ES6 . Również w przeciwieństwie do tych rozwiązań, w rzeczywistości generuje dane wyjściowe (bez cudzysłowów) w konsoli z liczbą odpowiedzi (zamiast być tylko wyrażeniem funkcyjnym, które nie generuje danych wyjściowych). Generowanie danych wyjściowych zależy od funkcji w konsoli każdej przeglądarki, że wartość wyrażenia jest wyprowadzana po ocenie tego wyrażenia.
Opiera się to na jedynej
<span>
na stronie z rodzicem, który jest<h2>
elementem zawierającym liczbę odpowiedzi jako treść tekstową. Po eksperymentach, to wydaje się być przypadek, i nie wydaje się możliwe, aby celowo stworzyć<h2>
z<span>
dzieckiem przy użyciu edytora: wszystkie jawnie wstawione<span>
elementy są usuwane i nie Markdown , stosowany na stosie Exchange, tworzy rzeczywiste<span>
wewnątrz<h2>
. Jeśli ktoś może zademonstrować przypadek, w którym można manipulować stroną w taki sposób, że'h2>span'
selektor nie jest już unikatowy, należy to zmienić.Jeśli ocena do łańcucha zamiast liczby jest dopuszczalna, wówczas
JavaScript + jQuery (już zawarte na stronie), 19 bajtów
Jednak nie oznacza to uwzględnienia
""
, ale we wszystkich testowanych konsolach generuje wyjście, które jest w nim zawarte""
. Przeczytałem komentarze Filipa Haglunda na ten temat, które wykluczają ten wynik.źródło
R, 80 bajtów
Odpowiedź polega na przeszukaniu wektora zwróconego za
readLines
pomocą wyrażeń regularnych. Zgaduję, że to może być zerwane przez tekst w komentarzach / odpowiedziach (być może nawet moich). Usunie, jeśli tak. Wzorzec może być również kopytny, ale nie jestem pewien, czy zwiększy to prawdopodobieństwo otrzymania fałszywej wartości.źródło