Inspirowany poliglotą na stronie Stack Overflow 404 :
Cel
Twój cel jest prosty, aby utworzyć poliglotę, która wyświetli liczbę 404 , a następnie zakończy działanie w jak największej liczbie języków.
Ograniczenia
Oto zwrot akcji, istnieje ograniczenie utrudniające:
Musisz napisać N programów i wybrać N języków w określonej kolejności. I th program musi wydrukować 404
w pierwszych í językach, ale nie w każdym języku po I th. Ma to zapobiec niszczeniu konkurencji przez bardzo proste rozwiązania
Punktacja:
- Pierwszym kryterium wyboru zwycięzcy jest liczba języków, w których działa program główny.
- Drugim kryterium jest liczba bajtów, w których programy z większą liczbą języków mają większe znaczenie dla tego kryterium.
- Trzecie i ostatnie kryterium to czas złożenia
Wyjaśnienia:
Kody źródłowe programów nie muszą mieć żadnych relacji. Są uruchamiane jako osobne programy. Każdy z programów może wyświetlać końcowe i / lub wiodące białe znaki. PROGRAMY NIE MUSZĄ BYĆ DALSZEJ JAKOŚCI INNYCH!
Dzięki @MartinEnder za lepsze wyjaśnienie!
code-golf
polyglot
rosetta-stone
Zacharý
źródło
źródło
Odpowiedzi:
54 języki, 1331 bajtów
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Ruby , Julia , Cardinal , Brainbash , Turtlèd , Deadfish ~ , Whitespace , Braille , Rail , Fission , ETA , Trigger , Samomodyfikujący Brainfuck , Numberwang , Właściwie , Emoji , Symboliczny Brainfuck , TinCan , Alphuck , Shove , Cood , Wise , Szerokość , Szepty , Wt , Powierzchnia , Kamienie , Zło , Zestaw , Preludium , Gaot ++ , Cubix , Sześciennie , ŚCIEŻKA , Komercyjne , Brian & Chuck, Małpy , Nhohnhehr , Beam , AsciiDots , Alumin , Alice , Whirl
Robi się to bardzo długo, więc na sugestię @ MDXF przenoszę podprogramy i komentarze do sedna . Program tutaj jest tylko programem końcowym. Jeszcze raz dziękuję MDXF za udostępnienie sterownika testowego TIO.
54. Wir
Wypróbuj online!
Wir opisany jest jako Turning Tarpit [sic], który używa tylko dwóch instrukcji, 1 i 0. 1 obraca bieżące koło instrukcji (albo koło matematyczne albo koło operacyjne), 0 zamienia obrót koła, a dwa 0 wykonuje instrukcje i przełącza koła. Odpowiednie instrukcje znajdują się w pierwszym wierszu:
000110000011110000100000100000110000011001100000111100001110011000111000110000
Wiodące 01 usuwają się nawzajem, a końcowe 01 powodują wyjątek zmiennoprzecinkowy.
Edycja: naprawiono kilka zepsutych rzeczy
(Polecenia być ostrożnym w przyszłości:
UDLR%"[.]o473psjw
)Jeśli jakieś programy działają w przyszłych językach lub nie działają w obecnych lub poprzednich językach, prosimy o komentarz.
źródło
...print(0 or 404)
ale nie jest to podsekwencja 97-bajtowego programu N.#
. Naprawdę żałuję, włączając te dwa języki, haha.53 języki, 2789 bajtów
Bash, Foo, Implicit, Charcoal, Emoji,> <>, rk, Brain-Flak, C, Set, Cood, Arcyou, TRANSCRIPT, SILOS, Commercial, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lily, Rozszczepienie, Dziesiętny, Sześcienny, Bitowy, TinCan, Szepty, Czw, Emotinomicon, co ?? , Siatkowa, Gaot ++, PATH, axo, Małpy, Nhohnhehr, xEec, VTFF, K-on Fuck, Churro i Forked. Wypróbuj wszystko online w sterowniku testowym!
Dołącz do nas na czacie, aby wziąć udział w tym wyzwaniu!
Ten post stał się zbyt duży, więc oto treść zawierająca moje postępy. Aktualny program końcowy:
Rozwidlony
Wypróbuj online!
Mój nowy (zaimplementowany) esolang!
źródło
34 języki, 387 znaków
Galaretka , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari / GP, brainfuck, Emoji, Emotin🌗micon, Węgiel drzewny, Braingolf, Whitespace, Deadfish ~, Deadfish, Samomodyfikujący Brainfuck, Symboliczny Brainfuck, Numberwang, Cardinal, Właściwie, Rozszczepienie, Preludium, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk , evil
Ta odpowiedź jest bardzo długa, więc oto pełna odpowiedź. Od tej pory będzie tu przechowywany tylko ostatni program.
Jeśli ktoś stwierdzi, że jeden z programów jest uszkodzony dla jednego języka lub jeden program działa dla języka, nie powinien, daj mi znać.
Wypróbuj online!
źródło
11 języków, 10 bajtów
Pyon
Pyon, Python 2
Pyon, Python 2, Python 1
Pyon, Python 2, Python 1, Python 3
Pyon, Python 2, Python 1, Python 3, Lua
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia, Lily
źródło
4 języki: CJam, Python, niedociążenie,> <>
Następujące działa w CJam, ale nie w Pythonie, niedociążeniu lub> <>:
404
na stos. Program kończy się, a404
wyjście jest wyprowadzane.404
. Wyrażenie jest oceniane, a program kończy się.4
i0
są niepoprawnymi poleceniami, więc interpreter TIO po prostu je ignoruje, a program kończy działanie.404
popycha4
,0
a4
na stosie. Adres IP zawija się do początku, a program powtarza się w nieskończoność.Następujące działa w CJam lub niedociążeniu (choć błędy), ale nie w Pythonie lub> <>:
N
wypycha na stos ciąg (tablicę znaków) zawierający nową linię.(
wyrzuca pojedynczy znak (nowy wiersz) z ciągu.404
przepycha404
na stos, a następnie)
zwiększa go, aby dać405
.S;
przesuwa spację, a następnie natychmiast ją usuwa.(
zmniejsza ponownie, aby uzyskać404
, a następnie\
zamienia znak nowej linii i znak404
.404\n
jest wyprowadzany (pusta tablica jest wyświetlana jako nic).N
jest ignorowane.(404)
wypycha ciąg404
do stosu.S
wyprowadza to.;
jest ignorowany.(
powoduje, że interpreter próbuje poszukać zamknięcia)
, ale ponieważ nic nie zostanie znalezione, program ulega awarii.N(404)
identyfikatorS
), więc błędy programu.N
jest niepoprawną instrukcją, więc błędy programu.Poniższe działa w CJam (choć błędy), niedociążeniu lub Pythonie, ale nie> <>:
[]
wypycha pustą tablicę na stos iL
wypycha pustą tablicę na stos.e=
liczy liczbę wystąpień[]
in[]
, dając0
.404
wypycha404
na stos.+
dodaje dwie liczby razem, dając404
.L
ponownie wypycha pustą tablicę na stos ie#
tworzy komentarz, który trwa do końca wiersza.(
próbuje wyrzucić element z tablicy, ale ponieważ element najwyższego stosu jest pustą tablicą[]
, błędy programu.404
jest nadal wyprowadzany.[]
to instrukcja składająca się z instrukcji no-op.Le=404
definiuje zmienną,Le
która ma być równa404
.+Le
bierze jednoznaczny plus zmiennejLe
(raczej bezużyteczna operacja), a wynik jest odrzucany.#(404)S
to komentarz liniowy.(print(404))
drukuje 404.(404)S
, która przesuwa404
się na stos i wysyła go.(print(404))
wypychaprint(404)
na stos, ale nic z tym nie robi, a program się kończy.[
próbuje usunąć liczbę z górnego stosu na metastaku, a następnie zrzucić tyle elementów z tego stosu i przekształcić je w nowy stos, który jest następnie wypychany na metastack. Na stosie nie ma numeru, więc błędy programu.Następujące działa w CJam (choć błędy), Python, niedociążenie i> <>:
[]
, mamy teraz dosłowny ciąg, ale treść jest nadal nieistotna.[]
pierwszym niewykorzystanym pierwszym wyrażeniem jest teraz dosłowny ciąg znaków, ale treść jest nadal nieistotna."
rozpoczyna tryb ciągów, a adres IP owija się wokół pierwszego wiersza, wypychając każdy kod znaku, który widzi na stos (jest to nieważne). Adres IP zawija się i uderza"
ponownie, co powoduje wyjście z trybu string.404
wypycha cyfry404
na stos, a następniennn
wypisuje każdą z nich (technicznie dzieje się to w odwrotnej kolejności, ale ponieważ 404 jest palindromem, nie ma to znaczenia).;
kończy program.źródło
6 języków Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
Więcej w przyszłości!
Hack mózgowy
Drukuje 404 w Hack mózgowy
Brain-Hack, Brain-Flak
Brain-Hack, Brain-Flak, Brain-Fuck
Używa komentarzy w Brain-Flak, aby go wydrukować
Brain-Hack, Brain-Flak, Brain-Fuck, Foo
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, JavaScript
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, JavaScript, Alphuck
źródło
4
...5 języków (87 bajtów)
Pyon
Wypróbuj online!
Python 2
Wypróbuj online!
Brain-Flak (BrainHack)
Wypróbuj online!
pieprzenie mózgu
Zaczerpnięte z odpowiedzi Jo Kinga, ponieważ nie byłem w stanie wymyślić kodu pieprzonego mózgu, który miałby wyważone nawiasy (ograniczenie flakingu mózgu).
Wypróbuj online!
05AB1E
Pamiętaj, że działa to również z Ohm.
Wypróbuj online!
Dzięki Jo King za -6 bajtów.
źródło
x%x
I[-]
nie są konieczne2 języki, 24 bajty, Python i Batch
Program 1: Python 3
Program 2: Python 3 i Batch
Po haszu komentuje resztę kodu w pythonie, a | jest instrukcją w bash, aby to zrobić, jeśli inne polecenie się nie powiedzie.
źródło
2 języki, 53 bajty: C i Python
Zacznijmy od czegoś prostego.
Program 1: C
Program 2: C i Python
Linki do TIO:
To tylko przykład i prawdopodobnie zostanie wielokrotnie pokonany .
źródło
4 języki, 91 bajtów
C ++
C ++, C
Usuwa makro C ++
C ++, C, Befunge
Dodaje makro, które będzie ignorowane w C ++, ale czytane jako kod w Befunge.
C ++, C, Befunge, Python
Podaje fragment kodu, który powoduje, że następny wiersz jest komentarzem w C, ale nie w Python (
//<backslash>
)źródło