Möhren. So. Viele. Möhren

12

Verdammt, das sind viele Karotten.

Die Inspiration

Inspiration

Die Aufgabe

Sie müssen ein Programm erstellen, das in so vielen Sprachen wie möglich jede Instanz von ^durch einen abschriftenformatierten Link ersetzt (dh, wenn ich es in einer Antwort posten würde, würde es es automatisch als Bild lesen und stattdessen das Bild platzieren) der Wörter) dieser aufwärtsgerichteten Karotte.

So verwenden Sie diese Formatierung:

Fügen Sie zunächst an einer beliebigen Stelle in der Datei den Link wie folgt ein (dies habe ich für diese Frage getan):

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

Und dann, wo immer Sie es wollen:

[! [] [1]] [1]

Regeln

  • Es gelten Standard-Regelungslücken.
  • Die Eingabe erfolgt über STDIN oder ein Äquivalent.
  • Die Ausgabe erfolgt über STDOUT oder ein gleichwertiges Signal.
  • Ihr Code muss ein voll funktionsfähiges Programm in allen von Ihnen verwendeten Sprachen sein.
  • Die URL, die Sie für Ihre Karotte verwenden, muss nicht die in dieser Antwort sein. Dies war nur ein Beispiel. Sie können eine beliebige URL verwenden, vorausgesetzt, SE's Markdown zeigt diese spezielle Möhre damit an.
  • Dies ist eine Herausforderung, daher gewinnt die Antwort mit der größten Menge an Möhrensprachen !
    • Bei Stimmengleichheit gewinnt die kürzeste Codegröße der Einträge mit der größten Anzahl von Sprachen.

BEARBEITEN:

  • Verwenden Sie auch KEINE trivialen Ableitungen von Sprachen! Dies bedeutet, dass eine Substitutionssprache (Brainfuck vs. ShadyAsFuck) und verschiedene Sprachversionen (Python 2 vs. Python 3) verwendet werden.

Es gibt eine Menge trivialer Esolangs, die passen ... (einschließlich 9001 BF-Varianten)

Sei nicht dieser Typ.

Hinweis: Ja, dieses Programm ist in Sprachen mit Regex-Unterstützung etwas trivial. Der Wettbewerb besteht jedoch darin zu sehen, wie viele Sprachen die Wettbewerber verwenden können.

Addison Crump
quelle
Ich verstehe nicht , den Ersatz (dieser Teil: [![http://i.stack.imgur.com/mecHl.png][1]][1])
Zereges
@Zereges Was verstehst du nicht darüber? Wenn Sie ein anderes Beispiel dafür möchten, klicken Sie auf "Antwort hinzufügen" und klicken Sie dann auf die Bildschaltfläche. Der Bild-Markdown wird automatisch für Sie erstellt, wie in dieser Frage gezeigt.
Addison Crump
4
Karotten für immer! ^^^
Kritixi Lithos
1
First, anywhere in the ,Ich bin mir nicht sicher, welches Wort dort fehlt.
Trichoplax
2
@FryAmTheEggman, es macht keinen Sinn, eine Frage sowohl mit Polyglot als auch mit Rosettastein zu kennzeichnen .
Peter Taylor

Antworten:

6

Python, Befunge 98, Lisp und Javascript - 829 827 +2 (-x Flag in Python) = 831 829 Byte

"^\
";/*";
""""(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]"));/*
;>^"'''#*/

Benötigt das -xKommandozeilen-Flag, wenn es mit Python ausgeführt wird. Das Xs kann durch ein beliebiges Zeichen ersetzt werden. Die Zeilenende-Nummernzeichen (und das Nummernzeichen am Anfang der ersten Zeile, die mit einem Semikolon beginnt) sind vorhanden, um zu vermeiden, dass beim Versuch, den ungültigen Befehl auszuführen ;(der einen Kommentar in Lispel startet), ein Fehler auftritt . In keiner der Zeilen befindet sich ein Leerzeichen.

Zwei Bytes durch Ersetzen gespart 55+ mit aeinem Newline zu drucken.

Pfeffer
quelle
So schick, so sauber. Ich mag. +1 Gut gemacht mit mehr als 3 Sprachen. : D
Addison Crump
19

Minkolang 0,10 , Befunge-93 , > <> ; 3 2D-Sprachen, 321 Bytes

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

Dolmetscher: Minkolang , Befunge-93 , > <> .

Ich werde auf jede Komponente näher eingehen, wenn jemand dies wünscht. Wichtig ist jedoch, dass alle die erste und zweite Zeile der Codebox lesen und die Zeichen zu den entsprechenden Zeiten ausgeben. Außerdem entscheide ich mich zwischen Befunge und Minkolang /> <> durch die Verwendung von \, die die oberen beiden Werte des Stapels im ersten vertauscht und in den anderen beiden einen Spiegel darstellt. Um Minkolang und> <> zu trennen, benutze ich !v#. !ist in beiden Sprachen ein bedingungsloses Trampolin, #in Minkolang jedoch ein omnidirektionaler Spiegel und in Minkolang ein No-Op. Von da an führt jede Sprache Code in einer eigenen Komponente aus.

El'endia Starman
quelle
4

Karotte , 60 58 Bytes

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

Ich weiß, dass es im Moment nur eine Sprache ist, aber ich dachte, wir können es nicht wirklich mit Karotten aufnehmen, die in Karotten nicht beantwortet werden.

2 Bytes dank @KritixiLithos gespart.

Erläuterung:

#                                          // 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
DerLethalCoder
quelle
Ich kenne keine Sprachen mit #Kommentaren, aber Sie könnten leicht einen Polyglot erstellen, indem Sie einfach den Code am Anfang und dann den Teilstring in den Karottencode einfügen, um nur den #in der Eingabe zu belassen.
TheLethalCoder
2
Ich wusste nicht einmal, warum dieser Code funktioniert (der A^Teil, zum Teil, weil ich seine Implementierung lange vergessen hatte), aber dann wurde mir klar, dass es an meinem schrecklich geschriebenen Interpreter liegt, dem ein richtiger Parser fehlt. Geben Sie hier +1, um den Ersteller der Sprache zu verwirren.
Kritixi Lithos
@KritixiLithos Um ehrlich zu sein, ich habe versucht, es mit einem regulären Ausdruck zum Laufen zu bringen und bin kläglich gescheitert. Ich war selbst überrascht, als ich A^am Ende arbeitete! Ich vermute, wenn Sie sich trennen, lassen Sie leere Elemente so ^^gibt [ "", "", "" ].
TheLethalCoder
Sie können das +"am Ende entfernen und es in ändern, ^während Sie das Ende "wie folgt ablegen #^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png. Im Wesentlichen wird +die Zeichenfolge mit einem Zeichenfolgenargument dem Stapel vorangestellt, das ^Gleiche gilt jedoch für eine kürzere Bytecount-Zahl.
Kritixi Lithos
@KritixiLithos Natürlich danke!
TheLethalCoder