JAPH to wielka tradycja tworzenia programu, który wypisuje „Po prostu innego hakera Perla”. Na tej stronie mamy już pytanie dotyczące JAPH, ale wydaje się, że bardziej zależy im na ukryciu tekstu, ale JAPH zawsze bardziej zależało na ukryciu metody, za pomocą której robi to, co robi. Dlatego wzywam cię do pokazania fajnych funkcji swojego ulubionego języka i nie przejmuj się zbytnio ukrywaniem tekstu (chyba że chcesz).
Oto moja, w Perlu, która nie powinna być trudna do zrozumienia dla doświadczonego velociraptora, ale może być interesująca dla innych.
(*STORE,*TIESCALAR)=map{eval"sub{$_}"}qw'map{print&&sleep$|}split//,pop bless\$|++';tie$t,main;$t="Just another Perl hacker,\n"
Subiektywnie osądzeni po głosach, zobaczmy, jak się denerwują!
obfuscation
popularity-contest
Joel Berger
źródło
źródło
_2=($_1/*/*); ${_2[34]} -${_2[34]:5:1}'\110\145\154\154\157\54\40\127\157\162\154\144\41'
Odpowiedzi:
do
Musi być skompilowany do wersji 32-bitowej. Na komputerach 64-bitowych użyj
gcc -m32
takiego lub podobnego.Zastrzeżenie: nie mój pomysł. Wiele lat temu znalazłem to ukryte w jakimś fragmencie kodu. Poważnie. Ich było jeszcze lepiej, zapomniałem o kilku drobnych szczegółach. Ale istota jest tutaj.
Kiedy to zobaczysz, będziesz pieprzył * cegły.
źródło
/*
jest skomentowane! facepalm :-PMatematyka:
źródło
Strzałka
Edycja: mniej nudny seter, mniej nudny getter.
Studiowałem ten język przez jeden dzień, więc myślę, że inni mogą myśleć, że to bałagan dziecka ... :(
źródło
PRNG
Jest w C, ale tak naprawdę pokazuje, że możesz robić fajne rzeczy za pomocą PRNG i wyjść
Just another PRNG hacker
:Korzystanie z wbudowanego PRNG (srand, rand) byłoby również możliwe, ale mniej przenośne.
źródło
do
źródło
Pyton
źródło
JavaScript
W moim kodzie tekst JAJSH został zaszyfrowany poprzez odwrócenie go, nie tylko raz, ale dwa razy !! Ha! Czy możesz to znaleźć?
źródło
Haskell
Zrobiłem to z pewną pomocą .
I dla zabawy:
źródło
JavaScript
Uruchom w konsoli
źródło
Python 2.x (pojedyncze wyrażenie)
Teraz, chociaż jest to dość łatwe do zrozumienia dla Pythonerów, inni mogą uznać to za co najmniej interesujące. Jeśli zastanawiasz się, dlaczego jest tak wiele lambd, chciałem mieć maksymalne podkreślenie, ale minimalne powtarzanie. Kto nie lubi podkreślników? Ideone
Wersja z wcięciem, jeśli wolisz:
Definiuje funkcję i nazywa ją „Just another Python Hacker”. Teraz nie musiała to być funkcja, ale pomyślałem, że będzie bardziej elegancki.
źródło
QBasic
Oto moja implementacja w QBasic. Program musi być nazwany „JAQBH.BAS” w lub, aby działał poprawnie, ponieważ odczytuje własne źródło jako część programu. I nie mogłem znaleźć zdrowego sposobu na określenie nazwy aktualnie uruchomionego skryptu.
źródło
Haskell
Zabawa z transformatorami monadowymi:
źródło
Scala
źródło
Postscriptum.
Tworzy niestandardową czcionkę do wyświetlania tekstu.
źródło
Rubin
Miałem dwa pomysły i ostatecznie je połączyłem.
źródło
Ruby 1.9
Tandetny, w dużym stopniu zależny od implementacji, ale mam nadzieję, że uważasz go za straszny.
Edycja: Dowód
źródło
Pyton
Mój JAPH w Pythonie
źródło
JavaScript
źródło
Lua / RProgN
Jestem pewien, że istnieje lepszy i bardziej sprytny sposób na połączenie tych dwóch języków. Ukrywanie się w komentarzach jest tak nadużywane.
Wypróbuj Lua Out
Wypróbuj RProgN Out
źródło
Operacyjny język skryptowy Flashpoint
Zapisz jako
ofp.sqs
(lub dowolną inną nazwę) i dzwoń za pomocą[] exec "ofp.sqs"
.Wynik:
źródło
Brezentowy
... co powinno działać, ale
╷
na łańcuchach nie zostało jeszcze zaimplementowane. Brawo dla martwych projektów! Działająca wersja wykorzystuje tę samą logikę, ale jest nieco ... mniej zaciemniona.Wypróbuj online! (wersja robocza)
źródło
Perl na OSX 10.7+ (wymaga Xcode)
źródło