To jest tworzenie łańcuchów odpowiedzi odpowiedzi, co oznacza, że na wszystkie odpowiedzi mają wpływ osoby przed nimi.
Zadanie
N -ty Odpowiedź na to pytanie musi działać we wszystkich językach, które są obecne w odpowiedzi przed nim. Nie muszą działać w kolejności, ale muszą wydrukować nazwę aktualnie uruchomionego języka, odwróconą .
Dodatkowe zasady
- Języka nie można użyć dwukrotnie.
- Twój program musi działać bez błędów. Używanie błędów do rejestrowania nazwy języka jest niedozwolone, ale możesz używać błędów do określania języka.
- Każda odpowiedź nie może być dłuższa niż 30% lub 40 bajtów (w zależności od tego, która wartość jest większa) niż poprzednia odpowiedź. Jeśli wartość procentowa nie jest liczbą całkowitą, jest ona zaokrąglana w dół .
- Twój dodany język musi być darmową implementacją językiem .
- Dowolny tłumacz języka.
- Jeśli możesz link do odtwarzalnych wyników, zrób to.
- Nazwa odwróconego języka nie rozróżnia wielkości liter, więc „3nohtyp” jest poprawny dla Pythona 3.0
- Nie możesz umieścić 2 odpowiedzi z rzędu.
- Jeśli twój język nie obsługuje ciągów, wydrukuj litery jako cyfry, zgodnie z następującym wzorem: „A” = 0, „B” = 1, „C” = 2 ...
- W przypadku języka, który nie obsługuje ciągów znaków i ma w nazwie znaki nieliterowe, wypisz -1 zamiast znaku nieliterowego. Pokaż, czy język nie obsługuje ciągów znaków.
Warunek zwycięstwa
Jeśli to pytanie trwa przez 20 dni bez odpowiedzi, wygrywa druga do ostatniej odpowiedzi.
Format odpowiedzi
4. CoffeeScript, 20 bajtów
(program goes here)
Ten program wypisuje nohtyp w Pythonie 3, a tpircsavaj w JavaScript.
(Jeśli chcesz wyjaśnić, jak to zrobiłeś, zrób to tutaj)
polyglot
answer-chaining
FreezePhoenix
źródło
źródło
Odpowiedzi:
49. boolfuck, 3989 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93eliF MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuLIve
w złoV
w Velliarb
w alfabecie Braille'a68xalfniarb
w BrainFlaX86NOOPS
w łyżceyrruC
w CurrygnalokniM
w Minkolangepyhniarb
w Brainhypekcufloob
w boolfuckWypróbuj online!
Następna odpowiedź nie może przekraczać 5185 bajtów.
Hexdump
Wyjaśnienie:
Boolfuck używa bitów zamiast bajtów / liczb całkowitych.
-
jest teraz noop i;
zastępuje.
. Używanie,-+
aby dostać boolfuck w pożądanym stanie działa bez wpływu na pieprzenie mózgu. Wszystko, co jest potrzebne, to upewnić się, że nie wejdziemy w nieskończoną pętlę lub nie wydamy czegoś, czego nie powinniśmy, i ściśnij "+ ;; +; +; +; + ;; +; + ;; + ;;; + ;; +; +; +; +; +; + ;;; + ;; + ;; + ;; + ;; + ;;; + ;; +; + ;; +; + ;;;; +; + ;; +; + ;;;; +; + ;; + ;; +; + ;;; + ;; +; " do programu. Dzieje się tak, ponieważ dzieli się na dwie części, ponieważ cztery;
s przeszkadzałyby w prawidłowym wyjściu, więc został podzielony w punkcie, w którym były cztery;
s.źródło
3. > <> , 106 bajtów
Wypróbuj online!
Ten program drukuje D in D, emmoS w Somme i > <> in> <>.
Następna odpowiedź nie może przekroczyć 146 bajtów (106 + 40).
Wyjaśnienie
;ooo"><>"
drukuje „> <>” w> <> (który jest palindromem), a następnie wychodzi.źródło
><>
nie jest<><
...4. C, 125 bajtów
Wypróbuj online! (Wybrałem clang, ale działa również z gcc).
Ten program drukuje C w C, D w D, emmoS w Somme i > <> w> <>.
Następna odpowiedź nie może przekroczyć 165 bajtów (125 + 40).
Wyjaśnienie
Wykorzystuje to fakt, że komentarze jednowierszowe w C można rozszerzyć do następnego wiersza, unikając nowego wiersza odwrotnym ukośnikiem, natomiast w D jest to (najwyraźniej) niemożliwe. Oznacza to, że
/*
w linii 2 rozpoczyna komentarz wieloliniowy w D, podczas gdy w C tak nie jest. Wykorzystuje również fakt, że/*/
może działać zarówno jako początek, jak i koniec komentarza wieloliniowego w obu językach.Część> <> działa dokładnie tak samo jak w poprzednich odpowiedziach, a część Somme została wygenerowana na nowo za pomocą tego skryptu .
źródło
1. D, 40 bajtów
Wypróbuj online
Nazwy języków jednobajtowych!
źródło
2. Somma , 73 bajty
Wypróbuj online!
Ten program drukuje D w D i emmoS w Somme.
Następna odpowiedź nie może przekroczyć 113 bajtów (73 + 40).
Wyjaśnienie
Somme sumuje każdą kolumnę i traktuje wynik jak polecenia. Na przykład, pierwsza kolumna
v/1*
, który sumuje się tę .To przekłada się (z grubsza) na:
Za pomocą tego skryptu możesz podłączyć pozostałe wiersze i kolumnę docelową .
źródło
9. Befunge-93 , 221 bajtów
Dzięki @JoKing za wskazanie, że zapomniałem
9
.Wypróbuj online!
Wypróbuj online! (Wigor)
Wydruki
39-egnufeB
w Befunge-93 wraz z zachowaniem innych wyników w innych językach.Następna odpowiedź nie może przekroczyć 287 bajtów.
Będzie działać w MTFI i należy podać dane wejściowe dla PyFunge.
Hexdump
W jaki sposób?
Befunge-93 nie wie, co to
;
jest (w Befunge-98 pomija polecenia do następnego;
), więc ignoruje to. Pozwalając nam rozróżnić dwie wersje Befunge. Ponadto część Somme została zmodyfikowana do pracy przy użyciu tego skryptuźródło
9
wcześniejk,
o Befunge-98.17. uderzenie mózgu, 613 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguWypróbuj online!
Następna odpowiedź nie może przekraczać 796 bajtów.
Hexdump
W jaki sposób
Zmieniłem kod, żeby wyważyć nawiasy. Nie wiem, jak działa atak mózgu. Ogromne podziękowania dla @CatWizard (jeśli wciąż jest to jego nazwa użytkownika)
za część ataku mózgu na czacie. Według komentarza @ JoKing zmieniłem go na wypisywanie „flaktu mózgu” odwróconego za pomocą jego skryptu .źródło
10. Plik COM FreeDOS, 277 bajtów
Powinno to również działać w MS-DOS i DOSbox, ale nie mogę teraz tego przetestować, więc lepiej być bezpiecznym niż przykro.
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOSWypróbuj online!(uruchamia wszystkie języki i generuje szablon odpowiedzi, z wyjątkiem pliku COM, który używa naprawdę minimalnego emulatora x86, który napisałem. Jeśli zmienisz kod tak bardzo, że trafisz na niezaimplementowaną instrukcję lub przerwiesz, albo zaimplementuj go, albo upuść komentarz na jednym z moje odpowiedzi tutaj)
Następna odpowiedź nie może przekraczać 360 bajtów.
Hexdump
Wyjaśnienie
vo
jestjbe
, ale FreeDOS wyraźnie ustawia flagi przy wejściu, aby zagwarantować, że ten skok nigdy nie zostanie wykonany. Tak powinno być również w przypadku MS-DOS i DOSbox, ale nie mogę teraz tego przetestować.id /*
usuwa wskaźnik stosu za pomocąimul sp, [si+0x20], 0x2a2f
, ale wynik jest zawsze taki sam, ponieważ SI zawsze wskazuje na początek kodu. Wynik tego pomnożenia jest wystarczająco wysoki, aby nie zakłócać kodu podczas wykonywania.Reszta to po prostu standardowy drukowany zestaw x86. Oto
yasm
kod źródłowy:źródło
$
pierwszym wierszem.46. Curry, 3755 bajtów
Testowałem to z różnymi implementacjami (Sloth, KiCS2 i PAKCS), ale tylko PAKCS (testowany z wersją 2.0.2-b7) pozwolił mi uruchomić BangPatterns:
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93eliF MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuLIve
w złoV
w Velliarb
w alfabecie Braille'a68xalfniarb
w BrainFlaX86NOOPS
w łyżceyrruC
w CurryWypróbuj online!
Następna odpowiedź nie może przekraczać 4881 bajtów.
Wyjaśnienie
Podobnie jak w przypadku Haskell, kod definiuje
(/*-)
operatora, a następnie definiuje operatora,(--?)
który rozpoznaje tylko Haskell, Curry traktuje wszystko pox
komentarzu:Zdefiniujemy więc
x --? y = y
dla Haskell, a następnie wyrażenie (musi znajdować się na końcu wiersza)"yrruC"--?"lleksaH"
zostanie ocenione na właściwy ciąg w każdym języku:Powyższy kod zapewnia, że
-XBangPatterns
flaga jest nadal rozpoznawana, musiałem przepisać to trochę, aby upewnić się, że Curry dobrze z nią działa.Hexdump
źródło
12. Unefunge-98, 320 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-98Wypróbuj online!
Następna odpowiedź nie może przekraczać 416 bajtów.
Hexdump
Wyjaśnienie
Trochę skompaktowałem kod Befunge, bo dlaczego nie. Z tego powodu musiałem naprawić Somme. Muszę dodać Somme-fixer do tego linku TIO ...
Unefunge patrzy na
v
i odzwierciedla, ponieważ av
nie ma sensu w jednym wymiarze. Możesz pomyśleć, że dojdzie do końca pierwszego wiersza, ale ponieważ Fungespace ma tylko jeden wymiar, cały kod jest traktowany jako pojedyncza linia. Dlatego@,ka"89-egnufenU"
jest wykonywany.Węgiel drzewny używa
¿
warunku z zawsze prawdziwym wyrażeniem,⁵
aby zignorować kod Unefunge.źródło
13. Befunge-97, 358 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-97Wypróbuj online!
Następna odpowiedź nie może przekraczać 465 bajtów.
Hexdump
Wyjaśnienie:
Wykorzystuje się
G
jako cechę odróżniającą Befunge-97 od Befunge-98: w 97 jest onag
względna w stosunku do bieżącej pozycji, ale w interpretatorze Befunge-98 to po prostu odzwierciedla. Jak zawsze część Somme na dole musiała zostać zmodyfikowana, ale tym razem tylko o jedną postaćźródło
14. Befunge-96, 355 bajtów
To mniejsze niż poprzednia odpowiedź!
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96Wypróbuj online! (dodano
somme-fix.py
: wydrukuj, do czego należy zmienić pierwsze 18 znaków dolnego wiersza, aby Somme znów działał)Następna odpowiedź nie może przekraczać 461 bajtów.
Hexdump
Wyjaśnienie
Ponownie wykonałem sekcję Befunge, ponieważ modyfikowanie cudzego kodu Funge jest trudniejsze.
Z
jest niezdefiniowaną instrukcją we wszystkich wersjach. W -98 odzwierciedlają się nieprawidłowe instrukcje, a wszystkie inne je ignorują.G
(względny get) nie istnieje w -93.]
(skręć w prawo) nie istnieje w -96.źródło
G
odzwierciedla także w 98.15. pieprzenie mózgu, 452 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózguWypróbuj online!
Następna odpowiedź nie może przekraczać 587 bajtów.
Hexdump
Wyjaśnienie
źródło
16. Trefunge-98, 472 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98Wypróbuj online!
Następna odpowiedź nie może przekraczać 613 bajtów.
Hexdump
Wyjaśnienie
Jeśli wykryty zostanie Funge-98, liczba wymiarów jest sprawdzana za pomocą
7y
. Dodatkowo nieco zmieniłem kod DOS, aby go usunąć)
, dzięki czemu można używać Brain-Flak.)
Został zmieniał się w+
tak różne+
została usunięta (po$
DOS). Poza tym Somme ma[
teraz coś takiego, więc kod pieprzony mózg dostał inny]
.źródło
++
->+
, ponieważ masz plus w kodzie DOS19. Haskell, 690 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w HaskellWypróbuj online!
Następna odpowiedź nie może przekraczać 897 bajtów.
Wyjaśnienie
Po długim czasie pracy nad integracją Haskell z kodem binarnym FreeDOS COM i znalezieniu brzydkiego rozwiązania, nie działało to z interpreterem na TIO, dlatego wysłałem ping do @NieDzejkob, który szybko znalazł inną drogę, dzięki!
Zamiast
/* multi-line comment */
użycia Haskell{- multi-line comment -}
,void /* ...
zostanie odpowiednio przeanalizowany. Sposób, w jaki obsługuje ten poliglot, to użycie govoid
jako identyfikatora do zdefiniowania operatora,(/*-)
po którym następuje długi komentarz, nowy identyfikator_
i definicja, a na końcumain
funkcja.Zasadniczo musiałem tylko zająć się Unefunge-98 (wystarczy przenieść go na koniec pliku, naprawić Somme, przywrócić równowagę i zrezygnować z nowo zintegrowanych nawiasów dla Brain-Flak. To działało ładnie, ponieważ miałem bezużyteczną definicję pływającą wokół , gdzie mógłbym po prostu umieścić jedyne trudne paren
)
.Hexdump
źródło
30. 99, 1187 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 99Wypróbuj online!
Następna odpowiedź nie może przekraczać 1543 bajtów.
Wyjaśnienie
Befunge-93 nie podobało mu się
999
na swojej drodze, więc trochę zmieniłem jego kontrolę. Reszta to bardzo prosty kod 99 :Hexdump
źródło
45. Łyżka , 3743 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93eliF MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuLIve
w złoV
w Velliarb
w alfabecie Braille'a68xalfniarb
w BrainFlaX86NOOPS
w łyżceWypróbuj online!
Następna odpowiedź nie może przekraczać 4865 bajtów.
Wyjaśnienie
Łyżka po prostu pieprzy mózg, ale używa użądleń 1 i 0 jako żetonów. Jednak interpreter umożliwia zmianę zer i jedynek na dowolne inne znaki ascii (niestety zawiesza się w Unicode), więc dla tego poliglota ustawiłem 0 = zi 1 = f (te litery zostały wybrane, ponieważ grają dość dobrze z alfuck i zło).
Ponieważ interpreter Spoon nie jest w stanie obsłużyć Unicode, musimy upewnić się, że Spoon jest zakończony przed napotkaniem znaków Unicode (lub rozwidleniem / naprawieniem interpretera). Obecnie jest blisko końca pierwszej linii, więc nie powinno to stanowić większego problemu.
Uwaga: łyżka musi być obecnie przetestowana ręcznie. Na Github jest tłumacz lub możesz pingować mnie na czacie, a jeśli jestem online, mogę go przetestować. Ta odpowiedź jest używana
spoon.exe /0z /1f polyglot
jako polecenie interpretera.Poza tym zmniejszyłem nieco zły kod, mieszając go z alphuckiem, do którego wcześniej przylegał. Zapisano tylko 5 znaków, ale równie dobrze możemy utrzymać niską liczbę bajtów tam, gdzie możemy.
Hexdump
źródło
5. Węgiel drzewny , 136 bajtów
Wypróbuj online!
Drukuje laocrahC w kolorze węgla, C w C, > <> w> <>, emmoS w Somme i D w D
Następna odpowiedź nie może przekroczyć 176 bajtów (136 + 40).
Wyjaśnienie
⎚
czyści płótno,laocrahC
drukujelaocrahC
źródło
11. Gol> <>, 306 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>Wypróbuj online!
Następna odpowiedź nie może przekraczać 397 bajtów.
Hexdump
UWAGA: plik szablonu został zmieniony, aby uruchomić inną interpretację Befunge-93, która nie ma problemów z rozmiarem ramki ograniczającej.
W jaki sposób??
0/0
Przestawiłem trochę kodu, którego należy unikać w Befunge-93 (który poprosi o wprowadzenie danych), i dodałem trochę kodu do rozróżnienia> <> i Gol> <> za pomocąS%
poleceń. W Gol> <> obie części zostaną pominięte jakS%
jedno polecenie, ale w> <> toS
wtedy%
, więc tylkoS
zostaną pominięte, a następnie modulo służy do uzyskania różnych wyników. Są/+ ... +/
to komentarze zagnieżdżenia specyficzne dla litery D.źródło
18. bash, 643 bajty
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashWypróbuj online!
Następna odpowiedź nie może przekraczać 835 bajtów.
Hexdump
Wyjaśnienie
Dodałem
- #
do kodu DOS, który modyfikuje rejestr tuż przed jego nadpisaniem. Podobnie druga linia również otrzymała#
. Jest to konieczne, aby bash ignorował ukośniki odwrotne. Wszystko poniżej to heredok, który jest ignorowanyecho
. Te dwa,<<
które wprowadzają heredoc, musiały być zrównoważone#>>
przypadku Mózgu.Potem zauważyłem, że Vim się zepsuł, więc zmieniłem
S
(linię zastępczą) na aggcG
(przejdź na górę i zmień się z tego miejsca na dół).Dodatkowo po naprawieniu Somme konieczne były inne małe zmiany, aby uszczęśliwić Mózg-Flak.
źródło
ggc
?22. Haskell + BangPatterns, 814 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatternsWypróbuj online!
Następna odpowiedź nie może przekraczać 1058 bajtów.
Wyjaśnienie
Ponownie wykorzystuje ideę tej odpowiedzi : zdefiniowanie operatora najwyższego poziomu,
(!)=seq
który jest przyzwyczajony w przypadku Haskell z włączoną funkcją BangPatterns, a w przeciwnym razielet
klauzula - zaciemnia tę definicję.Hexdump
źródło
28. Alice, 1024 bajty
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w AliceWypróbuj online!
Następna odpowiedź nie może przekraczać 1331 bajtów.
Wyjaśnienie
Gdy tylko uruchomiłem Alice (która ładnie potrafi ponownie wykorzystać dużo kodu), Somme była denerwująca, kod do jej naprawy byłby tym,
Sc+JAvY2a3*[;G>JeD
który łamie Brain-Flak . To, co zrobiłem, to podzielenie ostatniej linii na dwie, co daje nam dwie nieużywane linie do naprawy Somme 1 , wymagało to jedynie drobnych poprawek dla Brain-Flak .Hexdump
1: Alternatywnie mogłem obejść, wstawiając kropki w nieużywanej części Alicji, tak jak to
źródło
29. Quadrefunge-97, 1156 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-97Wypróbuj online!
Następna odpowiedź nie może przekraczać 1502 bajtów.
Hexdump
Dzięki @NieDzejkob i @BMO za pomoc w naprawianiu brainfuck, Alice i BrainFlak na czacie!
Zmiany
Poprawiłem sekcję funge i zastosowałem poprawki dostarczone przez @BMO dla Alice, BrainFlak i Brainfuck.
źródło
31. Quintefunge-97, 1251 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97Wypróbuj online!
Następna odpowiedź nie może przekraczać 1626 bajtów.
Hexdump
Wyjaśnienie
Używa względnego polecenia get
G
z wystarczającą liczbą argumentów, aby odróżnić je od innych zablokowanych poleceń.źródło
37. Trawa, 2542 bajty
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitcejbO
w celu C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawieWypróbuj online!
Następna odpowiedź nie może przekraczać 3304 bajtów.
Hexdump
źródło
39. Płótno, 2667 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w płótnieWypróbuj Canvas online!
Wypróbuj online!
Następna odpowiedź nie może przekraczać 3467 bajtów.
Hexdump
źródło
38. alphuck, 2656 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckWypróbuj online!
Następna odpowiedź nie może przekraczać 3452 bajtów.
Hexdump
Zmiany
Dodano kod alphuck pod koniec i niektóre rozproszone po całym kodzie. Wielkie litery
J
dla Objective-C, aby uniknąć wyników.sssss
Jest zrównoważenie pięć otwartychp
s (te są alphuck użytkownika[]
).źródło
40. Bezimienny język , 3241 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuWypróbuj online!
Następna odpowiedź nie może przekroczyć 4213 bajtów.
Zmiany
Napisałem tłumacza dla nowo dodanego języka, który dodałem do TIO ((@Dennis właśnie dodał tłumacza do TIO, spróbuj tutaj )nameless.hs
).Zmieniłem
somme-fix.py
tak, że stara się unikać postaci, które kolidują z innymi (np. Brain-Flak itp.) I tak, że nie potrzebuje ręcznego majstrowania przy dwóch ostatnich liniach.Wyjaśnienie
Język ten jest w zasadzie tylko brainfuck różnie kodowane (każda instrukcja jest 4 znaki
0
s oraz1
s), ale rozszerza zestaw instrukcji o kilka wskazówek. Aby nie operować wszystkimi instrukcjami wynikającymi z kodu początkowego, wstawiłem00 0011 0110
tam, gdzie jest kod 99, który jest równoważny zamknięciup
(zresetowanie wskaźnika) i instrukcje,-[
aby ustawić komórkę na 0 i pominąć cały pozostały kod.Później (po kodzie kamieni) następuje zamknięcie
]
i kod, który jest w zasadzie taki (a
dodaje wartość następnej instrukcji do komórki ip
jak wyżej):Wypróbuj online!
Hexdump
źródło
41. zło , 3275 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuLIve
w złoWypróbuj online!
Następna odpowiedź nie może przekraczać 4257 bajtów.
Zmiany
Zmodyfikowałem niepoprawne sprawdzanie danych wyjściowych, aby nie rozróżniały wielkości liter, tak aby pasowały do reguł, a więc nie musimy edytować nazwy języka na liście, jeśli chcemy bawić się wielkością liter w przypadku alfabetu i zła.
Zły kod został dodany na końcu programu, bezpośrednio po kodzie alphuck. Nie zawiera żadnych j, p ani s, więc nie spowodowało żadnych negatywnych skutków dla alphucka.
Wyjaśnienie
zło działa tylko na małe litery. Najbardziej przydatne litery do debugowania to f , b , m , j , x , w .
Wygodnie, zło nie trafi każdy wag , że nie chcemy. To uderza w X na początku, a mała liczba j pomocą ona wskakuje „ijome” w pobliżu końca pliku dość szybko. Stamtąd przesuwa się przez alphuck, który robi wszelkiego rodzaju bzdury w strukturach danych zła, a następnie resetuje akumulator i robi to.
Szybki podział kodu:
z
- zresetować A na 0aeeeaeeaew
- pobierz wartość ascii dla „L” do wyjścia Auuuw
- zmniejsza wartość „s«I», wyjścieeeeeeaaaak
- zmiana „s wartość na«e», sklep w Peeaaaaw
- zmiana „s wartość na«v», wyjścievw
- zamień A i P , wyjściePotencjalnie można to trochę pograć w golfa. Jest szansa, że niektóre struktury danych mają przydatne wartości, kiedy dochodzimy do końca kodu alphuck, ale (1) prześledziłem to ręcznie w większości i nie miałem ochoty rozgryzać tego wszystkiego lub wyśledzenie wartościowego edytora zła (2) poleganie na takich rzeczach może być koszmarem w utrzymaniu, więc prawdopodobnie ze względów higienicznych lepiej jest po prostu zresetować nasze wartości i pracować od zera. W przeszłości odniosłem pewien sukces, przeplatając zło i żart. Zebraliśmy kilka krótkich notatek o tym, jak myślę, że można to zrobić tutaj, ale nie miałem czasu, aby to przetestować. Czy ktoś pracuje nad przyszłą odpowiedzią, chce, żeby ktoś pingował mnie tutaj lub na czacie?
Poza tym nie potrzebowałem tego, ale możesz przynajmniej umieścić x , może xf pomiędzy
[*
pierwszą linią, co spowodowałoby przeskok z pierwszej linii do pierwszej małej litery j . Obecnie używamy x inexe
i f indefine
, co działa, ale w zależności od tego, gdzie dodane zostaną przyszłe języki, przydatny może być wcześniejszy skok.Hexdump
źródło
43. Braille'a, 3420 bajtów
Wydruki:
D
w D.emmoS
w Somme><>
w> <>C
w C.laocrahC
w węgiel drzewnymiV
w VimC-evitceJbO
w ObJective-C89-egnufeB
w Befunge-9839-egnufeB
w Befunge-93elif MOC SODeerF
w pliku COM systemu FreeDOS><>loG
w Gol> <>89-egnufenU
w Unefunge-9879-egnufeB
w Befunge-9769-egnufeB
w Befunge-96kcufniarb
w pieprzeniu mózgu89-egnuferT
w Trefunge-98kalf-niarb
w uderzeniu mózguhsab
w bashlleksaH
w Haskellhsz
w Zshijome
w emojisnrettaPgnaB+lleksaH
w Haskell + BangPatterns++C
w C ++nocimonitomE
w Emotinomiconhsk
w kshhsad
w desce rozdzielczej79-egnuferT
w Trefunge-97ecilA
w Alice79-egnuferdauQ
w Quadrefunge-9799
w 9979-egnufetniuQ
w Quintefunge-97kcufniarb cilobmys
w symbolicznym pieprzeniu mózgu79-egnufexeS
w Sexefunge-97senots
w kamieniach79-egnufetpeS
w Septefunge-97diotcnuF
w FunctoidssarG
w trawiekcuhpla
w alphuckSAVNAC
w CANVASegaugnal sseleman
w bezimiennym językuLIve
w złoV
w Velliarb
w alfabecie Braille'aWypróbuj online!
Następna odpowiedź nie może przekraczać 4446 bajtów.
Hexdump
Dziękujemy @ Potato44 za wskazówkę dotyczącą „umieszczania” emotikonów (i symbolicznego pieprzenia mózgu) między kodem a sekcją danych kodu brajlowskiego.
źródło