Морковь. Так. Много. морковь


12

Блин, это много моркови.

Вдохновение

вдохновение

Задание

Вы должны создать программу, которая, на максимально возможном количестве языков, заменяет каждый экземпляр ссылкой, отформатированной^ с уценкой (это означает, что если бы я должен был опубликовать ее в ответе, она автоматически прочитала бы ее как изображение и поместила бы вместо нее изображение). слов) этой обращенной вверх моркови.

Как использовать указанное форматирование:

Во-первых, где-нибудь в файле, вставьте ссылку так (вот что я сделал для этого вопроса):

[1]: http://i.stack.imgur.com/mecHl.png

И тогда, где вы хотите это:

[! [] [1]] [1]

правила

  • Стандартные лазейки применяются.
  • Ввод будет через STDIN или эквивалентный.
  • Выход будет через STDOUT или эквивалентный.
  • Ваш код должен быть полностью работающей программой на всех языках, которые вы используете.
  • URL, который вы используете для своей морковки, не обязательно должен совпадать с ответом. Это был просто пример. Вы можете использовать любой URL, при условии, что Markdown SE показывает эту конкретную морковь с ним.
  • Это вызов , поэтому победит ответ с наибольшим количеством языков моркови !
    • В случае ничьей выигрывает самый короткий размер кода записей с наибольшим количеством языков.

РЕДАКТИРОВАТЬ:

  • Кроме того, НЕ используйте тривиальные производные языков! Это означает использование языка подстановки (Brainfuck vs. ShadyAsFuck) и различных языковых версий (Python 2 против Python 3).

Есть много простых esolangs, чтобы соответствовать ... (в том числе 9001 BF вариантов)

Не будь тем парнем.

Примечание: Да, эта программа будет немного тривиальной в языках с поддержкой регулярных выражений. Тем не менее, соревнование состоит в том, чтобы увидеть, сколько языков могут использовать конкуренты.


Я не понимаю замену (эта часть: [![http://i.stack.imgur.com/mecHl.png][1]][1])
Zereges

@ Zereges Что ты не понимаешь об этом? Если вы хотите еще один пример этого, нажмите «Добавить ответ», а затем нажмите кнопку изображения. Он автоматически создаст для вас разметку изображения, как показано в этом вопросе.
Эддисон Крамп

4
Морковь навсегда! ^^^
user41805

1
First, anywhere in the ,Я не уверен, какое слово там отсутствует.
Трихоплакс

2
@FryAmTheEggman, нет смысла отмечать вопрос как полиглотом, так и розеттским камнем .
Питер Тейлор

Ответы:


6

Python, Befunge 98, Lisp и Javascript - 829 827 +2 (флаг -x в python) = 831 829 байт

"^\
";/*";
""""(defun q (string part replacement &key (test #'char=))(with-output-to-string (out) (loop with part-length = (length part) for old-pos = 0 then (+ pos part-length) for pos = (search part string :start2 old-pos :test test) do (write-string string out :start old-pos :end (or pos (length string))) when pos do (write-string replacement out) while pos)))(princ "[1]:http://tinyurl.com/qczsjtl
")(ignore-errors (loop (princ (q (read-line) "^" "[![][1]][1]"))))""";import sys;i=sys.stdin.read();print '[1]:http://tinyurl.com/qczsjtl\n'+i.replace('^','[![][1]][1]');"""" """
1;'''
;#<v"[1]:http://tinyurl.com/qczsjtl"$$$
;X v,<
;X >:|XXXXX>v
;vXXX>a,#
;>#@~>:10g-|>,#
;^ XXXXXXXX>$"]1[]]1[][![">:# ,# _#
;X */alert("[1]:http://tinyurl.com/qczsjtl\n"+prompt().split("^").join("[![][1]][1]"));/*
;>^"'''#*/

Требуется -xфлаг командной строки при запуске с python. Xs может быть заменен любым символом. Признаки числа в конце строки (и знак числа в начале первой строки, начинающиеся с точки с запятой) присутствуют во избежание попыток выполнить недопустимую инструкцию ;(которая запускает комментарий в lisp). На каждой из линий нет пробела.

Сохраненные два байта, заменив 55+с aнапечатать строку.


Так красиво, так чисто. Мне нравится. +1 Отлично сделано по завершению с более чем 3 языками. : D
Эддисон Крамп

19

Минколанг 0.10 , Befunge-93 , > <> ; 3 2D языка, 321 байт

v[1]: http://i.stack.imgur.com/mecHl.png
v[![][1]][1] 
>\$$>~:1+!#v_:"^"-#v_1>:34*`#v_v
//  ^             ,<0        <    >:0g,1+v
v#   ,,:*52<          ^+1  ,g1:<@_^#`*85:<1
>!v#(od"^"=,34*&34*[i1+1qO]!O$I)lO58*[i1+0qO].
  >i:0(?v:"^"-?v1>:34*)?vv
  ^           o<0       < > :0go1+v
  oo:*52<        ^+1og1: <^;?)*85:<1

Переводчики: Минколанг , Befunge-93 , > <> .

Я подробно расскажу о каждом компоненте, если кто-то захочет, но важно то, что все они читают первую и вторую строки кодового окна и выводят символы в соответствующее время. Кроме того, я выбираю между Befunge и Minkolang /> <> путем использования \, которое меняет два верхних значения стека в первом и является зеркалом в двух других. Для разделения Минколанга и> <> я использую !v#. !является безусловным батутом на обоих языках, но #является всенаправленным зеркалом в> <> и неактивным в Минколанге. С тех пор каждый язык выполняет код в своем собственном компоненте.


4

Морковь , 60 58 байтов

#^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png

Я знаю, что на данный момент это только один язык, но я думал, что у нас не может быть проблемы с морковью, на которую нет ответа в Морковь.

Сохранено 2 байта благодаря @KritixiLithos.

Объяснение:

#                                          // Set the stack to the input
^                                          // Change to operations mode
A^                                         // Convert to array mode by splitting on ^
S"[![][1]][1]"                             // Convert to string mode by joining on
                                           // the literal string supplied
^[1]: http://i.stack.imgur.com/mecHl.png   // Switch back to stack mode and
                                           // append the string literal

Я не знаком ни с какими языками с #комментариями, но вы могли бы легко создать полиглот с одним из них, просто добавив этот код в начале, а затем подстроку в морковном коде, чтобы оставить только #входные данные.
TheLethalCoder

2
Я даже не знал, почему этот код работал ( A^частично из- за того , что я давно забыл о его реализации), но потом я понял, что это из-за моего ужасно написанного интерпретатора, у которого нет надлежащего парсера. Здесь есть +1, чтобы сбить с толку создателя языка.
user41805

@KritixiLithos Честно говоря, я пытался заставить его работать с регулярным выражением, и с треском провалился, и сам удивился, когда A^закончил работать! Я предполагаю, что когда вы разделяете, вы оставляете пустые элементы, так что ^^дает [ "", "", "" ].
TheLethalCoder

Вы можете удалить +"в конце и изменить его, при ^этом удаляя окончание "следующим образом #^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png. По сути, +со строковым аргументом строка добавляется в стек, но ^делает то же самое для более короткого байта.
user41805

@KritixiLithos Конечно, спасибо!
TheLethalCoder
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.