Zadanie
Utwórz program lub funkcję, która będzie poprawna w wielu językach programowania, a po skompilowaniu / zinterpretowaniu jako inny język wyświetli „Hello, World!” w innym języku naturalnym.
Na przykład prawidłowe rozwiązanie może generować Hello World!
(angielski) po kompilacji i działać jako C, Hallo Welt!
(niemiecki) po kompilacji i działać jako C ++ i 你好世界!
(chiński) po uruchomieniu jako Python.
Zasady
Aby uniknąć dwuznaczności co do ważności odpowiedzi, poniżej znajduje się lista dozwolonych wersji frazy w kilku językach. Lista składa się z wyrażenia w językach, dla których Tłumacz Google ma przetłumaczone przez społeczność tłumaczenie wyrażenia (od tego momentu). *
Dokładność tych tłumaczeń jest dyskusyjna, ale to one wykorzystają to wyzwanie. Wydrukowane ciągi muszą mieć dokładnie następujący format (z wyjątkiem początkowych lub końcowych białych znaków).
Afrikaans: Hello Wêreld!
Albanian: Përshendetje Botë!
Amharic: ሰላም ልዑል!
Arabic: مرحبا بالعالم!
Armenian: Բարեւ աշխարհ!
Basque: Kaixo Mundua!
Belarussian: Прывітанне Сусвет!
Bengali: ওহে বিশ্ব!
Bulgarian: Здравей свят!
Catalan: Hola món!
Chichewa: Moni Dziko Lapansi!
Chinese: 你好世界!
Croatian: Pozdrav svijete!
Czech: Ahoj světe!
Danish: Hej Verden!
Dutch: Hallo Wereld!
English: Hello World!
Estonian: Tere maailm!
Finnish: Hei maailma!
French: Bonjour monde!
Frisian: Hallo wrâld!
Georgian: გამარჯობა მსოფლიო!
German: Hallo Welt!
Greek: Γειά σου Κόσμε!
Hausa: Sannu Duniya!
Hebrew: שלום עולם!
Hindi: नमस्ते दुनिया!
Hungarian: Helló Világ!
Icelandic: Halló heimur!
Igbo: Ndewo Ụwa!
Indonesian: Halo Dunia!
Italian: Ciao mondo!
Japanese: こんにちは世界!
Kazakh: Сәлем Әлем!
Khmer: សួស្តីពិភពលោក!
Kyrgyz: Салам дүйнө!
Lao: ສະບາຍດີຊາວໂລກ!
Latvian: Sveika pasaule!
Lithuanian: Labas pasauli!
Luxemburgish: Moien Welt!
Macedonian: Здраво свету!
Malay: Hai dunia!
Malayalam: ഹലോ വേൾഡ്!
Mongolian: Сайн уу дэлхий!
Myanmar: မင်္ဂလာပါကမ္ဘာလောက!
Nepali: नमस्कार संसार!
Norwegian: Hei Verden!
Pashto: سلام نړی!
Persian: سلام دنیا!
Polish: Witaj świecie!
Portuguese: Olá Mundo!
Punjabi: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ!
Romanian: Salut Lume!
Russian: Привет мир!
Scots Gaelic: Hàlo a Shaoghail!
Serbian: Здраво Свете!
Sesotho: Lefatše Lumela!
Sinhala: හෙලෝ වර්ල්ඩ්!
Slovenian: Pozdravljen svet!
Spanish: ¡Hola Mundo! // Leading '¡' optional
Sundanese: Halo Dunya!
Swahili: Salamu Dunia!
Swedish: Hej världen!
Tajik: Салом Ҷаҳон!
Thai: สวัสดีชาวโลก!
Turkish: Selam Dünya!
Ukrainian: Привіт Світ!
Uzbek: Salom Dunyo!
Vietnamese: Chào thế giới!
Welsh: Helo Byd!
Xhosa: Molo Lizwe!
Yiddish: העלא וועלט!
Yoruba: Mo ki O Ile Aiye!
Zulu: Sawubona Mhlaba!
Można więc użyć 74 języków.
Zwycięskie kryterium
Rozwiązanie, które może wypisać wyrażenie w największej liczbie języków, wygrywa. W przypadku remisu wygrywa krótsze rozwiązanie (w bajtach).
* Tłumaczenia na język malgaski i maltański zostały oznaczone jako zweryfikowane przez społeczność, ale były wyraźnie niepoprawne (jedno było po prostu „Hello World!”, A drugie „Hello dinja!”, Ale samo „Hello!” Tłumaczy się na „Bongu!”). Zostały one wyłączone. Również niektóre języki (arabski, hebrajski, paszto, perski i jidysz) czytają od prawej do lewej w Tłumaczu Google, ale po skopiowaniu tutaj czytają od lewej do prawej. Mam nadzieję, że to w porządku.
źródło
!
, U + FF01) różnią się od pozostałych (!
, U + 0021).Odpowiedzi:
23 Befunges, 713 bajtów
Jedynym językiem, który naprawdę znam, jest Befunge, więc zamiast wielu języków, właśnie wybrałem wiele implementacji Befunge. Uważam, że nadal obowiązuje to zgodnie z zasadami PPCG, które uznają język za definiowany przez jego implementację .
Frustrującą rzeczą w Befunge jest to, że chociaż istnieje implementacja referencji typu open source, a sam język jest bardzo prosty, nie ma ani jednego zewnętrznego tłumacza (o którym wiem) dokładnie pasującego do zachowania referencyjnego. Każde wdrożenie kończy się niepowodzeniem w inny sposób.
Na plus daje to nam możliwość opracowania jednego fragmentu kodu, który da inny wynik w prawie każdym tłumaczu. I tego właśnie próbuję w powyższym programie.
Jeśli ktoś jest zainteresowany weryfikacją wyników, próbowałem pogrupować różne implementacje w kategorie w zależności od tego, jak łatwo je uruchomić (np. Niektóre osoby mogą nie być w stanie uruchomić plików binarnych systemu Windows lub mogą nie chcieć kompilacja ze źródła, ale każdy powinien mieć możliwość testowania tłumaczy internetowych).
Tłumacze online
Nie wymaga instalacji. Zwykle jest to tylko kwestia wklejenia kodu i kliknięcia przycisku lub dwóch. Pamiętaj jednak, że niektóre z nich są dość powolne, więc może trochę potrwać, aby zakończyć wykonywanie.
Plac zabaw Befios Alexiosa - Salamu Dunia!Kliknij Clear...przycisk i wklej kod w polu wejściowym. Przełącz Editprzełącznik, aby aktywować tłumacza, a następnie kliknij Runprzycisk, aby rozpocząć wykonywanie.
Befungius - Molo Lizwe!Pamiętaj, że ta strona prawdopodobnie nie będzie działać w przeglądarce innej niż Chrome.
Wklej kod do pola wejściowego, pamiętając o zastąpieniu istniejącego kodu. Następnie kliknij Runprzycisk, aby wykonać.
Tłumaczka Befunge 93 Davida Klicka - Sannu Duniya!Wklej kod w polu wejściowym Playfield , a następnie kliknij Runprzycisk, aby rozpocząć wykonywanie.
Tłumacz Ian Osgooda Befunge-93 - Salut Lume!Wklej kod do pola wejściowego pod Showprzyciskiem, upewniając się, że nadpisałeś
jsFunge IDE - Hej Verden!@
już tam. Kliknij Showprzycisk, aby zaimportować kod, a następnie kliknij Runprzycisk, aby rozpocząć wykonywanie.Najpierw zamknij okno dialogowe Pomoc , a następnie kliknij przycisk paska narzędzi Otwórz / Importuj (drugi od lewej), wklej kod i kliknij OK. Aby wykonać, kliknij przycisk Tryb uruchamiania (czwarty od lewej), a następnie Start (piąty od lewej).
Należy również pamiętać, że kilka tłumaczy konsolowych jest faktycznie dostępnych w TIO, więc chociaż nie są technicznie tłumaczami online, można je przetestować online. Dla tych, którzy są obsługiwani (obecnie BEF, FBBI, MTFI i PyFunge), zamieściłem Wypróbuj online! link obok ich wpisu.
IDE Java
Będziesz musiał mieć zainstalowane środowisko wykonawcze Java, ale teoretycznie powinny one działać na dowolnej platformie. Testowane tylko w systemie Windows.
Wizualny aplet Befunge Ashleya Millsa - Moien Welt!Początkowo był to aplet online, który niestety nie jest już dostępny, ale nadal możesz pobrać słoik i uruchomić go lokalnie jako aplikację komputerową. Musisz wkleić kod w oknie edytora programów , a następnie kliknij Convertprzycisk, a następnie Runprzycisk.
WASABI: Wspaniały Asinine Befunge Interpreter Wasabi - Hallo Welt!Aby wkleić kod, kliknij prawym przyciskiem myszy w lewym górnym rogu okna edytora ( musi to być górny lewy górny róg ) i wybierz element menu Wklej . Następnie zaznacz pole wyboru Pełna prędkość (w przeciwnym razie zajmie to wieczność) i kliknij Run!przycisk, aby rozpocząć wykonywanie.
YABI93: Yet Another Befunge93 Interpreter - Halo Dunia!Naciśnij Ctrl+ A, Ctrl+, Vaby wkleić kod do okna edytora, pamiętając o zastąpieniu domyślnego źródła. Następnie kliknij Startprzycisk, aby rozpocząć wykonywanie.
IDE systemu Windows
Zazwyczaj potrzebujesz do tego systemu Windows, chociaż w niektórych przypadkach mogą być dostępne pliki binarne dla innych systemów operacyjnych. Nie mogę obiecać, że kod będzie działał na innych platformach.
BefunExec - Hello World!Nie możesz wkleić kodu do edytora, więc najpierw musisz go gdzieś zapisać na dysku. Następnie z IDE użyj menu Plik> Otwórz, aby załadować kod z dysku i wybierz menu Symulacja> Uruchom / Pauza, aby go uruchomić.
BeQunge - Labas pasauli!Naciśnij Ctrl+, Vaby wkleić kod, a następnie kliknij przycisk paska narzędzi Debugowanie (niebieski tryb), aby rozpocząć wykonywanie. Gdy pojawi się panel Debugger , będziesz chciał ustawić Prędkość na maksimum - przycisk po prawej stronie suwaka - w przeciwnym razie ukończenie zajmie wieczność.
Grzyb - Tere maailm!Naciśnij Ctrl+, Vaby wkleić kod, a następnie naciśnij, F5aby go uruchomić.
Visbef: Visual Befunge '93 dla Windows - Hallo Wereld!Nie możesz wkleić kodu do edytora, więc najpierw musisz go gdzieś zapisać na dysku. Następnie z IDE naciśnij Ctrl+, Oaby otworzyć przeglądarkę plików i załaduj kod z dysku, i naciśnij, F5aby go uruchomić.
Aplikacje konsoli Windows
Ponownie zazwyczaj wymagają one systemu Windows, chociaż inne platformy mogą być dostępne, ale nie gwarantuje to, że będą działać.
We wszystkich przypadkach kod będzie musiał zostać zapisany w pliku na dysku, a nazwa pliku przekazana do interpretera jako parametr wiersza poleceń ( source.bf w przykładowych wierszach poleceń podanych poniżej). Należy również pamiętać, że niektóre z nich są technicznie tłumaczami Befunge-98 i muszą być uruchamiane z określoną opcją wiersza polecenia, aby wymusić tryb zgodności Befunge-93. Jeśli tego nie zrobisz, nie uzyskasz poprawnych wyników.
BEFI: Tłumaczka Befunge-93 Rugxulo - Hei Verden!Wiersz poleceń:
CCBI: Zgodny interpreter Befunge-98 - Sveika pasaule!bef93w32 -q source.bf
Linia poleceń:
MTFI: Magus Technica Funge Interpreter - Hai dunia!ccbi --befunge93 source.bf
Wiersz polecenia:
mtfi -3 source.bf
( Wypróbuj online! )Aplikacje konsoli Python i PHP
Wymagają one zainstalowania odpowiedniego języka skryptowego - Python lub PHP.
Befungee - Helo Byd!Wiersz poleceń:
PyFunge - Halo Dunya!befungee.py source.bf
Wiersz polecenia:
Bephunge - Bonjour monde!pyfunge -v 93 source.bf
( Wypróbuj online! )Wiersz poleceń:
php bephunge.phps source.bf
Aplikacje konsoli tylko do źródła
Będą one musiały zostać zbudowane ze źródła, co zwykle jest najłatwiejsze w środowisku podobnym do * nix. W systemie Windows korzystam z podsystemu Windows dla systemu Linux .
BEF: Dystrybucja referencyjna Befunge-93 - Ciao mondo!Wiersz polecenia:
cfunge - Sawubona Mhlaba!bef -q source.bf
( Wypróbuj online! )Wiersz poleceń:
FBBI: Płomienny bydło Befunge-98 Intepreter - Hei maailma!cfunge -s 93 source.bf
Wiersz polecenia:
Grzyby - Kaixo Mundua!fbbi -93 source.bf
( Wypróbuj online! )Wiersz poleceń:
Rc / Funge-98 - Salom Dunyo!fungi source.bf
Wiersz poleceń:
rcfunge -93 source.bf
Jak to działa
Wyzwanie polegało na znalezieniu jak najmniejszej liczby testów zapewniających największe rozróżnienie między tłumaczami. Ostatecznie sprowadzono się do czterech głównych sekwencji testowych:
Pierwszy to pamięć poza zakresem odczytana z offsetu -1,1. Teoretycznie powinno to zawsze zwracać 32 (przestrzeń ASCII), ale w praktyce było 10 odmian. Test ten komplikuje fakt, że dwóch tłumaczy ustnych odczytuje się po odczytaniu poza granicami, dlatego do przeprowadzenia tych dwóch testów konieczne było wykonanie kilku specjalnych testów (zaokrąglanie podziałów i mostkowanie przestrzeni).
Druga sekwencja to test funkcjonalności Befunge-98 - w szczególności instrukcji
;
i'
. Prawie wszyscy tłumacze są Befunge-93 lub działają w trybie zgodności Befunge-93, więc powinni po prostu zignorować te instrukcje. W praktyce istniało 6 różnych sposobów interpretacji tej sekwencji.Trzeci test sprawdza zasięg komórek pamięci. W interpretatorze referencyjnym komórki pamięci są podpisane 8-bitowe, ale inne implementacje różnią się w zakresie od 8-bitowych do nieograniczonych, niektóre podpisane, a niektóre niepodpisane. Jednak do celów tego testu musieliśmy jedynie rozróżnić 5 z tych wariantów.
Czwarta i ostatnia sekwencja to połączenie testów niedomiaru i ujemnego podziału. Istnieje wiele sposobów, w jakie tłumacze popełniają błąd niedomiaru, i istnieją co najmniej 3 różne sposoby implementacji instrukcji podziału i modulo, ale tutaj były tylko 3 kombinacje.
Każda z tych sekwencji zwróciła jedną liczbę, a te cztery liczby zostały połączone (za pomocą niektórych podstawowych tabel arytmetycznych i translacyjnych), aby uzyskać końcową wartość z zakresu od 0 do 22. Tę wartość można następnie wykorzystać jako indeks do wyszukania rzeczywistej wiadomości wystawić.
źródło
3y
).16 języków, 1363 bajtów
Wypróbuj online!
(użyj „zmień języki”, aby zmienić język)
Python 3 = Halo Dunia! (Indonezyjski)
Python 2 = Hej Verden! (Duński)
Python 1 = Hai dunia! (Malajski)
C (gcc) = Helo Byd! (Walijski)
C ++ (gcc) = Halo Dunya! (Sundajski)
Cel C (brzęk) = Cześć Welt! (Niemiecki)
Brainfuck = Hello World! (Oczywiście angielski)
Befunge-93 = Salut Lume! (Rumuński)
Ruby = Moien Welt! (Luksemburski)
Bash = Salom Dunyo! (Uzbecki)
Befunge-98 (PyFunge) = Kaixo Mundua! (Baskijski)
Unefunge-98 (PyFunge) = Sannu Duniya! (Hausa)
Kardynał = Cześć Wereld! (Holenderski)
Alphuck = Ciao mondo! (Włoski)
> <> = Moni Dziko Lapansi! (Chichewa)
Rozszczepienie = Pozdrav svijete! (Chorwacki)
Wszelkie wskazówki dotyczące gry w golfa są mile widziane (szczególnie na Brainfuck) !!
Dzięki @JonathanFrech za -1 bajt! Ponadto, dzięki @ovs za -40 bajtów!
Jak (ogólne pomysły, właściwie zapomniałem o szczegółach)?
Języki można podzielić na cztery grupy:
Języki makr widzą
#
jako początek dyrektywy preprocesora. Są one używane z trzech powodów: do przechowywania kodu dla innych grup, rozróżniania języków makr i faktycznego definiowania makra. Wszystkie trzy wykorzystują//
jako komentarz, więc potem przechowujemy kod dla innych grup. Również odwrotny ukośnik kontynuuje komentarz w tych językach.Języki komentarzy
#
są początkiem komentarza. Dziwactwo tutaj to potrójne cytaty, które odróżniają Pytony od Ruby od Basha. Aby odróżnić Python 1 od 2 od 3, używamy funkcji wyróżniającej we wszystkich trzech, wraz z tablicą wyników. O tak, jest też to__END__
. Służy to do zakończenia kodu niektórych (nie pamiętając dokładnie, które) języków komentarzy.Języki wymiarów wyróżnia się w sposób trudny do wyjaśnienia. Trzeba znać specyfikę każdego języka, aby to zrozumieć. Na przykład
#
jest tylko pomijaniem w fungeoidach, podczas gdy robi różne różne rzeczy w innych językach. Kod jest rozrzucony wszędzie dla tych języków.I wreszcie dochodzimy do języków wulgarnych. Ci dwaj ignorują wszystko, czego nie ma w zestawie prawidłowych znaków. W tych i innych językach należy grać w równoważenie, ponieważ kod zawiera już znaki w zestawach znaków.
źródło
"abcabcabc"[n::3] -> "aaa" for n = 0, "bbb" for n = 1
. Wydaje mi się, że prawdopodobnie istnieje sposób, aby go pokroić i zaoszczędzić bajty, włączając w to w jakiś sposób zduplikowane znaki (np. H i!).["Hai dunia!","Hej Verden!","Halo Dunia!"]
chronią przecinki!+[++[<+++>->+++<]>+++++++]<<<--.<.<--..<<---.<+++.<+.>>.>+.>.>-.<<<<+.
części BF? ( źródło )15 języków, 532 bajty
Wypróbuj online!
Kaixo Mundua!
w Befunge-93Hej Verden!
w rozszczepieniuTere maailm!
w Unefunge-98Hei maailma!!
w Befunge-98Hai dunia!
w> <>Hola món!
w RubyHola Mundo!
w GolfScriptHallo Welt!
w bashNdewo Ụwa!
w kshCiao mondo!
w desce rozdzielczejMoien Welt!
w ZshHei Verden!
w popieleOlá Mundo!
w KardynałHello World!
w pieprzeniu mózgu, dzięki uprzejmości primo .Helo Byd!
w spacjiWyjaśnienie
Linia 1 rozróżnia pięć esolangów 2D:
><>
czyta się#
jak lustro, owija się w lewo, drukuje"Hai dunia!"
i ulega awarii (@
). Wszystkie Grzyby czytają to jako trampolinę i idź w prawo.;
, drukujeKaixo Mundua!
i wychodzi (@
).;
na drugi, a następnie z trzeciego;
na czwarty.w
to NOP dla Befunge-98, drukowanieHei maailma!
.w
odzwierciedla wskaźnik instrukcji w Unefunge-98, drukowanieTere maailm!
.R"Hej Verden!";
jest wykonywany. (Inna instrukcja wskaźnik zaczyna się odD
IN__END__
, ale nie robi nic, potem umiera na;
INtrue;
).Ruby widzi
`true #{puts'Hola món!'}`
, wtedy__END__
.GolfScript widzi
`
, potemtrue
(NOP), potem komentarz; następnie__END__
(NOP); następnie"Hola Mundo!" puts
(jest to wykonywane); następniecase
(NOP), a następnie`
(ulega awarii na pustym stosie).Powłoki widzą komentarz, następnie wywołanie do
true
(NOP), następnie wywołanie do nieznanych poleceń__END__
i"Hola Mundo!"
(który błąd do STDERR, ale wykonanie jest kontynuowane), a następniecase
instrukcja, która wyróżnia się na podstawie pierwszej litery nazwy bieżącego procesu.Kardynał to kolejny esolang 2D, który zaczyna się od
%
, wysyłając 4 adresy IP w górę, w dół, w lewo i w prawo. Wszyscy zostali zabici przez otaczające jex
polecenia, ale jeden drukuje się"Olá Mundo!"
przed śmiercią.Kod pieprzenia mózgu jest kodem Primo, z prefiksem,
++
aby przeciwdziałać myślnikomps -p$$ -oargs=
.Biała spacja w moim kodzie jest wykonywana jako program Whitespace
który drukuje
Helo Byd!
EDYCJA : Zapomniałem, że dodawanie
UDLR
znaków psuje program Rozszczepienia, więc zmieniłem ciągi znaków, aby ich uniknąć.źródło
#define
nie jest rzeczą w D ... która często przeszkadza w poliglocie). Poza tym naprawdę muszę się nauczyć białych znaków.4 języki, 75 bajtów
Pyton -
Hai dunia!
Perl -
Helo Byd!
Rubin -
Hola món!
Stóg siana -
Hej Verden!
źródło
7 języków, 221 bajtów
Ponieważ ten program zawiera kilka nieprzyjemnych znaków, oto xxd:
Përshendetje Botë!
- wypróbuj online!Hallo Wereld!
- wypróbuj online!ሰላም ልዑል!
- wypróbuj online!Hello Wêreld!
- wypróbuj online!Kaixo Mundua!
- wypróbuj online!مرحبا بالعالم!
- wypróbuj online!Բարեւ աշխարհ!
- wypróbuj online!źródło
<?='مرحبا بالعالم!';die?>
? To poprawny PHP (zasadniczo taki sam jak<?php echo ... ?>
),5 języków, 168 bajtów
Myślę, że dwuwymiarowe języki są interesujące.
> <> druki
Tere maailm!
Befunge-98 druki Druki wosk
Hej Verden!
pszczeli Druki
Sawubona Mhlaba!
kardynalne Druki
Helo Byd!
rozszczepienia
Hello World!
Wypróbuj online! (Kardynał)
źródło
//
są komentarze w wielu językach.*/\_
i mogą być przekierowywane w ustalonych kierunkach lub przez lusterka lub rotację. Zobacz tutaj po więcej.;
po drugim cofnięciu nie jest konieczne. Pszczoła po prostu ucieka z plastra miodu w prawo.2 języki, 16 znaków, 24 bajty
Cóż, przynajmniej jest to krótszy niż oba ciągi.
05AB1E -
שלום עולם!
Pomoc, WarDoq! -
Hello World!
Pomoc, WarDoq! można dodać dwie liczby i przetestować liczby pierwsze, dlatego jest uważany za prawidłowy język programowania dla tego postu .
źródło
3 języki,
6762 bajtówAby zakwalifikować się do tej nagrody (100 powtórzeń).
Dodaj ++: Wypróbuj online!
Foo: Wypróbuj online!
Somme: Wypróbuj online!
Wyjaśnienie
Dodaj ++
Dodaj ++ widzi:
„
x
Ciąg wyjściowy ”„Ustaw y na inny ciąg”
„Idk coś dziwnego, popełniam błąd”
bla
Foo widzi:
„O, cytaty, wydam je”.
„Ee… coś o trybie? Idk, popełniam błąd.”
Somma
Somme widzi, cóż, to:
Każda kolumna jest konwertowana na punkty kodowe, następnie odejmuje się od nich 32, a następnie pobiera się modulo 95. To odpowiada tym znakom, które wypisują „Hei Verden!”
źródło
4 języki, 138 bajtów
Wypróbuj online!
Py1, Py2, Py3, proton; dzięki panu Xcoder; przetłumaczone z odpowiedzi Zacharýego
źródło
4 języki, 115 bajtów
Perl 5 daje
Hallo Wereld!
- TIORuby daje
Hello World!
- TIOPython 2 daje
Hej Verden!
- TIOPython 3 daje
Hei Verden!
- TIOźródło
print (((“b”+”0"==0)and eval('"Hallo Wereld!"'))or(0and"Hello World!”or((1/2and"Hei"or"Hej")+" Verden!")));
Cztery języki, aż 650 bajtów
Java daje „Salut Lume!” Spróbuj!
SILOS daje „Hola Mundo” Wypróbuj!
Brainfuck daje „Ciao mondo!” Spróbuj!
(Kod alphuck jest modyfikowany ze strony Esolangs na Alphucku )
Alphuck daje „Hello World!” Spróbuj!
Linia zaczynająca się od \ u000A to kod Java. Kodem w pierwszej linii jest kod Alphuck, który zignoruje resztę kodu (o ile „p” i „s” są zbalansowane. Odpowiednia linia dla SIL / SILOS to „print Hola Mundo” i kod pieprzenia mózgu znajduje się na końcu i zignoruje resztę kodu.
źródło
+>++>+>+++[+++++[>+++++++++++>++++<<-]+++<]>>--.>+.>.>-.>.<--.++.-.<+++.>+.>+.
użyciu sekwencji bajtów [69, 104, 97, 112, 32]5 języków, 213 bajtów
Postanowiłem sam napisać krótką odpowiedź.
Języki:
C i C ++ widzą kod jako:
auto i=.5;
jest (w efekcie) równyint i=0;
w C, ale równydouble i=0.5;
w C ++.Wypróbuj online! (jako C)
Wypróbuj online! (jako C ++)
Python 3 widzi kod jako:
Wypróbuj online!
Język skryptowy OFP widzi:
Rozszczepienie widzi:
Wypróbuj online!
źródło
3 języki,
184181 bajtówDziała tylko raz - musisz wyczyścić listę, aby uruchomić ją ponownie.
Scratch 1.4:
Helo Byd!
Scratch 2.0:
Hello world!
Scratch 3.0 beta w momencie odpowiedzi:
Hai dunia!
Wyjaśnienie
W Scratch 1.4, dodając wartość logiczną do listy dodaje
1
lub0
, ale w 2.0 i up dodajetrue
albofalse
, ale podczas sprawdzania, czy pozycja jest równa1
z <[] = []>, zwróci true, jeśli element jest albo1
albotrue
, więc dodajemy do niego kolejny list i to sprawdzamy.W Scratch 3.0 listy mają maksymalny rozmiar 200 000 elementów, więc po prostu dodajemy kilka elementów i sprawdzamy, czy lista jest tak długa.
źródło
3 języki, 61 bajtów
Dodaj wyjścia ++
Hai dunia!
Jelly wyjścia
Hello World!
Wyjścia Foo
Helo Byd!
To, że ustawiłem nagrodę, nie oznacza, że nie mogę wziąć udziału: D (ab) używa tej genialnej sztuczki ustawiania strun znalazł Conor dla Add ++
Jak to działa
Dodaj ++
Galareta
Komentarze w Galaretce mogą być tworzone przy użyciu składni
ḷ“comment”
, która ignoruje kod Add ++ i Foo. Kod, który jest faktycznie wykonywany przez Jelly, tobla
Foo ignoruje tutaj wszystkie znaki
"Helo Byd!"
, które, jak w cudzysłowie, są wyprowadzane.źródło