Austin: „Kto cię wysłał?”
Mustafa: „Musisz mnie zabić!”
Austin: „Kto cię wysłał?”
Mustafa: „Pocałuj mnie w dupę, moce!”
Austin: „Kto cię wysłał?”
Mustafa: „Dr Evil”.
(...)
Mustafa: „Nie mogę znieść tego samego pytania trzy razy. To mnie po prostu denerwuje”.
Masz symulować krótki dialog w duchu Austin Powers i Mustafa . Ale źródłem danych dla całej rozmowy będzie pytanie StackOverflow (dostarczone jako dane wejściowe z adresu URL).
Zasady
Nazwa użytkownika pytającego zostanie użyta zamiast „Austin”. Pytanie, które zadadzą trzy razy, pochodzi z ostatniego zdania w tytule pytania (które zostało zmuszone do zakończenia znakiem zapytania, jeśli jeszcze tego nie zrobił).
StackExchange zagra rolę „Mustafy”. Ostatecznie udzielona odpowiedź pochodzi z pierwszego zdania odpowiedzi, która nie kończy się znakiem zapytania i zostanie przypisana do nazwiska użytkownika, który odpowiedział.
Aby zakwalifikować się do gry, musi ono (a) uzyskać odpowiedź i (b) musi istnieć ciąg komentarzy na temat pierwotnego pytania:
- komentarz od kogoś innego niż pytający
- (dowolna liczba pominiętych komentarzy)
- komentarz pytającego
- komentarz od kogoś innego niż pytający
- (dowolna liczba możliwych do pominięcia komentarzy)
- komentarz pytającego
Jeśli ta sekwencja nie jest spełniona przed datą najwyższej odpowiedzi , program powinien po prostu wyjść"Oh, behave!"
Wściekłe wypowiedzi Mustafy StackExchange pochodzą z pierwszego zdania komentarzy kogoś innego niż pytający, które nie kończą się znakiem zapytania - i zapewniają, że kończy się wykrzyknikiem. Jeśli w komentarzu nie ma zdania, które nie kończy się znakiem zapytania, jest ono pomijane jako kandydat do retorty. Retorty komentarzy są przypisywane do nazwy użytkownika autora.
Wyjaśnienia
Usuń z komentarza wszelkie wiodące dane odpowiedzi „@XXX”.
Ponieważ StackOverflow podsumowuje komentarze, jeśli jest ich wiele, prawdopodobnie będziesz musiał użyć drugiego żądania, aby uzyskać pełną listę. To żądanie ma formę
/programming//posts/NNN/comments?_=MMM
z identyfikatorem postu w N i pytaniem w M. Patrz na przykład: /programming//posts/11227809/comments?_=211160Adresy URL powinny być usuwane tylko w celu zakotwiczenia tekstu.
Zdefiniujemy „zdanie” jako cokolwiek poza blokiem kodu, który kończy się kropką, znakiem zapytania lub wykrzyknikiem. Jeśli ciąg tekstu nie ma końcowej interpunkcji tego formularza, wówczas koniec tekstu jest końcem zdania; tak jakby było napisane kropką.
Jeśli szukasz zabawnych przypadków testowych, które prawdopodobnie się zakwalifikują, możesz spróbować użyć Eksploratora danych StackExchange, takiego jak posty z największą liczbą komentarzy .
... więcej w przyszłości, postawię ...
Próbki
Próbka pierwsza
Wejście:
/programming/2283937/how-should-i-ethically-approach-user-password-storage-for-later-plaintext-retrie/
Wynik:
shanee: „Jak etycznie podejść do przechowywania hasła użytkownika w celu późniejszego pobrania tekstu jawnego?”
stefanw: „Myślę, że on wie, że to nie jest dobre!”
shanee: „Jak etycznie podejść do przechowywania hasła użytkownika w celu późniejszego pobrania tekstu jawnego?”
Rook: „Być może powinieneś zapytać, w jaki sposób możesz wdrożyć lukę w zabezpieczeniach związaną z przepełnieniem bufora!”
shanee: „Jak etycznie podejść do przechowywania hasła użytkownika w celu późniejszego pobrania tekstu jawnego?”
Michael Burr: „Zapytaj, dlaczego hasło musi być w postaci zwykłego tekstu: jeśli jest to po to, aby użytkownik mógł odzyskać hasło, to mówiąc ściśle, tak naprawdę nie musisz odzyskiwać ustawionego hasła (nie pamiętają, co to jest w każdym razie), musisz dać im hasło, którego będą mogli używać ”.
Próbka druga
Wejście:
http://scifi.stackexchange.com/questions/2611/why-dont-muggle-born-wizards-use-muggle-technology-to-fight-death-eaters
Wynik:
DVK: „Dlaczego mugolscy czarodzieje nie używają mugolskiej technologii do walki ze śmierciożercami?”
DampeS8N: „To znów tańczy na krawędzi!”
DVK: „Dlaczego mugolscy czarodzieje nie używają mugolskiej technologii do walki ze śmierciożercami?”
DampeS8N: „Racja, ale ta strona nie ma na celu wskazywania dziur w fabule!”
DVK: „Dlaczego mugolscy czarodzieje nie używają mugolskiej technologii do walki ze śmierciożercami?”
Jeff: „Wierzę, choć nie udało mi się znaleźć odniesienia, że JK Rowling w pewnym momencie o tym wspomniała.”
Próbka trzecia
Wejście:
/programming/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
Wynik:
„Och, zachowuj się!”
(Najwyżej oceniany czas odpowiedzi to czas, w którym pojawia Jun 27 '12 at 13:56
się drugi komentarz uzupełniający do pytania zadanego przez pytającego Jun 27 '12 at 14:52
. W związku z tym nie ma związku przyczynowego między drugim badaniem a odpowiedzią. :-P)
Zwycięskie kryteria
Code Golf - wygrywa najkrótszy kod.
źródło
Odpowiedzi:
PHP, 1282 znaki
Chociaż 1282 dość duże jak na wyzwanie w golfa kodu, wyzwanie jest dość złożone. (I nie jestem zbyt dobry w golfie.)
Wersja bez golfa
źródło
$a=function(1,2,$a)
połączyć wszystkie te rzeczy razem.