Cholera, to dużo marchewek.
Inspiracja
Zadanie
Musisz stworzyć program, który w tak wielu językach, jak to możliwe, zastąpi każde wystąpienie ^
z wyprzedaży sformatowanej linkiem (czyli, że gdybym miał pisać go w odpowiedzi, to automatycznie odczyta go jako obraz i umieścić obraz zamiast słów) tej marchewki skierowanej ku górze.
Jak korzystać z wymienionego formatowania:
Najpierw w dowolnym miejscu pliku umieść link w ten sposób (oto, co zrobiłem dla tego pytania):
[1]: http://i.stack.imgur.com/mecHl.png
A potem, gdziekolwiek chcesz:
[! [] [1]] [1]
Zasady
- Obowiązują standardowe luki.
- Dane wejściowe będą realizowane poprzez STDIN lub równoważny.
- Dane wyjściowe będą realizowane poprzez STDOUT lub równoważne.
- Twój kod musi być w pełni działającym programem we wszystkich używanych językach.
- Adres URL użyty do marchewki nie musi być tym w tej odpowiedzi. To był tylko przykład. Możesz użyć dowolnego adresu URL, pod warunkiem, że Markdown SE pokazuje tę konkretną marchewkę.
- To wyzwanie dla poliglotów , więc wygrywa odpowiedź z największą ilością języków
marchwi!- W przypadku remisu wygrywa najkrótszy kod z pozycji o największej liczbie języków.
EDYTOWAĆ:
- NIE używaj także trywialnych pochodnych języków! Oznacza to używanie języka zastępczego (Brainfuck vs. ShadyAsFuck) i różnych wersji językowych (Python 2 vs. Python 3).
Jest wiele trywialnych esolangów do dopasowania ... (w tym warianty 9001 BF)
Nie bądź tym facetem.
Uwaga: Tak, ten program będzie nieco trywialny w językach z obsługą wyrażeń regularnych. Konkurs polega jednak na sprawdzeniu, z ilu języków mogą korzystać konkurenci.
code-challenge
string
polyglot
Addison Crump
źródło
źródło
[![http://i.stack.imgur.com/mecHl.png][1]][1]
)First, anywhere in the ,
Nie jestem pewien, którego słowa tam brakuje.Odpowiedzi:
Python, Befunge 98, Lisp i JavaScript -
829827 +2 (-x flaga w pythonie) =831829 bajtówWymaga
-x
flagi wiersza poleceń podczas uruchamiania z pythonem.X
s można zastąpić dowolny znak. Znaki liczbowe końca linii (i znak liczbowy na początku pierwszego wiersza rozpoczynającego się od średnika) są obecne, aby uniknąć próby befunge wykonania nieprawidłowej instrukcji;
(która rozpoczyna komentarz w lisp). W żadnym z wierszy nie ma spacji końcowych.Zaoszczędzono dwa bajty, zastępując
55+
je,a
aby wydrukować nowy wiersz.źródło
Minkolang 0.10 , Befunge-93 , > <> ; 3 języki 2D, 321 bajtów
Tłumacze ustni : Minkolang , Befunge-93 , > <> .
Przejdę do szczegółów na temat każdego komponentu, jeśli ktoś chce, ale ważne jest, aby wszystkie z nich przeczytały pierwszą i drugą linię pudełka z kodem i wypisały znaki w odpowiednim czasie. Ponadto decyduję się między Befunge a Minkolang /> <>, używając
\
, który zamienia dwie pierwsze wartości stosu w pierwszym i jest lustrem w pozostałych dwóch. Aby oddzielić Minkolang i> <>, używam!v#
.!
jest bezwarunkową trampoliną w obu językach, ale#
jest lustrem dookólnym w> <> i nie ma możliwości w Minkolangu. Od tego momentu każdy język wykonuje kod we własnym komponencie.źródło
Marchew ,
6058 bajtówWiem, że w tej chwili jest to tylko jeden język, ale pomyślałem, że tak naprawdę nie możemy mieć wyzwania dotyczącego marchewki, na które nie ma odpowiedzi w Marchewce.
Zaoszczędź 2 bajty dzięki @KritixiLithos.
Wyjaśnienie:
źródło
#
komentarzami, ale możesz łatwo zrobić poliglotę za pomocą jednego z nich, po prostu dodaj ten kod na początku, a następnie podciągnij kod marchewki, aby pozostawić tylko#
dane wejściowe.A^
częściowo dlatego, że dawno zapomniałem o jego implementacji), ale potem zdałem sobie sprawę, że to z powodu mojego strasznie napisanego interpretera, który nie ma odpowiedniego parsera. Tutaj masz +1 za pomylenie twórcy języka.A^
skończyłem działać! Zgaduję, że kiedy się podzielisz, zostawiasz puste elementy, więc^^
dajesz[ "", "", "" ]
.+"
na końcu i zmienić go^
podczas upuszczania zakończenie"
jak tak#^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png
. Zasadniczo+
za pomocą argumentu łańcuchowego przygotowuje ciąg znaków do stosu, ale^
robi to samo dla krótszej liczby bajtów.