Морква. Так. Багато. Морква


12

Чорт, моркву багато.

Натхнення

натхнення

Завдання

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

Як використовувати згадане форматування:

По-перше, будь-де у файлі розмістіть посилання так (ось що я зробив для цього питання):

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

І тоді, куди ви хочете:

[! [] [1]] [1]

Правила

  • Застосовуються стандартні лазівки.
  • Введення буде через STDIN або еквівалент.
  • Вихід буде через STDOUT або еквівалент.
  • Ваш код повинен бути повністю функціонуючою програмою на всіх мовах, якими ви користуєтесь.
  • URL-адреса, яку ви використовуєте для вашої моркви, не повинна бути тією, що відповідає у цій відповіді. Це був лише приклад. Ви можете скористатися будь-якою URL-адресою, за умови, що в Markdown від SE показана ця конкретна морква.
  • Це складний , тому відповідь з найбільшою кількістю морквяних мов виграє!
    • У разі зв'язання виграє найкоротший розмір коду записів із найбільшою кількістю мов.

Редагувати:

  • Також НЕ використовуйте тривіальні похідні мов! Це означає використання мови заміни (Brainfuck vs. ShadyAsFuck) та різних мовних версій (Python 2 проти Python 3).

Існує дуже багато тривіальних езолангів, які підходять ... (включаючи варіанти 9001 BF)

Не будь тим хлопцем.

Примітка: Так, ця програма буде дещо тривіальною для мов із підтримкою регулярного виразів. Однак змагання полягають у тому, щоб визначити, скільки мов можуть використовувати конкуренти.


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

@Zereges Що ти не розумієш про це? Якщо ви хочете ще один приклад цього, натисніть «Додати відповідь», а потім натисніть кнопку зображення. Він автоматично побудує розмітку зображень для вас, як показано в цьому запитанні.
Аддісон Кримп

4
Морква назавжди! ^^^
користувач41805

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 може бути замінений будь-яким символом. Знаки числа в кінці рядка (і знак числа на початку першого рядка, який починається з крапки з комою) є присутніми, щоб уникнути неполадок, які намагаються виконати недійсну інструкцію ;(яка починає коментар пізніше). Немає пробілу в жодному з ліній.

Збережені два байта, замінивши 55+з aнадрукувати рядок.


Так вигадливий, такий чистий. Мені подобається. +1 Молодці, якщо ви працюєте з більш ніж 3-ма мовами. : D
Addison Crump

19

Minkolang 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

Перекладачі: Minkolang , Befunge-93 , > <> .

Я детально розберуся про кожен компонент, якщо хто хоче, але важливо, щоб усі вони прочитали перший та другий рядки кодової скриньки та вивели символи у відповідний час. Крім того, я вирішую між Befunge та Minkolang /> <> шляхом використання \, який підміняє перші два значення стека в першому і є дзеркалом в двох інших. Для відокремлення 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, щоб заплутати творця мови.
користувач41805

@KritixiLithos Якщо чесно, я намагався змусити його працювати з регексом і зазнав невдачі, і я сам здивувався, коли A^закінчив працювати! Я здогадуюсь, коли ви розколюєтесь, ви залишаєте порожні елементи так, що ^^дає [ "", "", "" ].
TheLethalCoder

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

@KritixiLithos Звичайно, дякую!
TheLethalCoder
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.