Carottes. Donc. Beaucoup. Carottes

12

Merde, c'est beaucoup de carottes.

L'inspiration

inspiration

La tâche

Vous devez créer un programme qui, dans autant de langues que possible, remplace chaque instance de ^par un lien au format markdown (ce qui signifie que si je le publiais dans une réponse, il le lirait automatiquement comme une image et placerait l'image à la place des mots) de cette carotte tournée vers le haut.

Comment utiliser ladite mise en forme:

Tout d'abord, n'importe où dans le fichier, mettez le lien comme ça (c'est ce que j'ai fait pour cette question):

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

Et puis, où vous le voulez:

[! [] [1]] [1]

Règles

  • Les échappatoires standard s'appliquent.
  • L'entrée se fera via STDIN ou équivalent.
  • La sortie se fera via STDOUT ou équivalent.
  • Votre code doit être un programme pleinement opérationnel dans toutes les langues que vous utilisez.
  • L'URL que vous utilisez pour votre carotte n'a pas à être celle de cette réponse. Ce n'était qu'un exemple. Vous pouvez utiliser n'importe quelle URL, à condition que Markdown de SE montre cette carotte spécifique avec elle.
  • C'est un défi , donc la réponse avec le plus grand nombre de langues de carottes gagne!
    • En cas d'égalité, la taille de code la plus courte des entrées avec le plus grand nombre de langues l'emporte.

ÉDITER:

  • Aussi, n'utilisez PAS de dérivations triviales de langues! Cela signifie utiliser un langage de substitution (Brainfuck vs ShadyAsFuck) et différentes versions linguistiques (Python 2 vs Python 3).

Il y a beaucoup d'esolangs triviaux à adapter ... (y compris les variantes 9001 BF)

Ne sois pas ce mec.

Remarque: Oui, ce programme sera légèrement trivial dans les langues avec support regex. Cependant, la compétition consiste à voir combien de langues les concurrents peuvent utiliser.

Addison Crump
la source
Je ne comprends pas le remplacement (cette partie: [![http://i.stack.imgur.com/mecHl.png][1]][1])
Zereges
@Zereges Que ne comprenez-vous pas à ce sujet? Si vous voulez un autre exemple de cela, cliquez sur "Ajouter une réponse" puis appuyez sur le bouton image. Il construira automatiquement la démarque d'image pour vous, comme indiqué dans cette question.
Addison Crump du
4
Carottes pour toujours! ^^^
user41805
1
First, anywhere in the ,Je ne sais pas quel mot manque ici.
trichoplax du
2
@FryAmTheEggman, il n'est pas logique qu'une question soit étiquetée à la fois polyglotte et rosetta-stone .
Peter Taylor

Réponses:

6

Python, Befunge 98, Lisp et Javascript - 829 827 +2 (indicateur -x en python) = 831 829 octets

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

Nécessite l' -xindicateur de ligne de commande lors de l'exécution avec python. le Xs peut être remplacé par n'importe quel caractère. Les signes numériques de fin de ligne (et le signe numérique au début de la première ligne qui commence par un point-virgule) sont présents pour éviter que befunge essaie d'exécuter l'instruction invalide ;(qui commence un commentaire en lisp). Il n'y a aucun espace de fin sur aucune des lignes.

Enregistré deux octets en remplaçant 55+par apour imprimer une nouvelle ligne.

pppery
la source
Si chic, si propre. J'aime. +1 Bravo pour avoir terminé avec plus de 3 langues. : D
Addison Crump
19

Minkolang 0,10 , Befunge-93 , > <> ; 3 langues 2D, 321 octets

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

Interprètes: Minkolang , Befunge-93 , > <> .

J'entrerai dans les détails de chaque composant si quelqu'un le souhaite, mais ce qui est important, c'est que tous lisent les première et deuxième lignes de la boîte à codes et produisent les caractères aux moments appropriés. En outre, je décide entre Befunge et Minkolang /> <> en utilisant \, qui permute les deux premières valeurs de la pile dans le premier et est un miroir dans les deux autres. Pour séparer Minkolang et> <>, j'utilise !v#. !est un trampoline inconditionnel dans les deux langues, mais #est un miroir omnidirectionnel dans> <> et un no-op dans Minkolang. Dès lors, chaque langue exécute du code dans son propre composant.

El'endia Starman
la source
4

Carotte , 60 58 octets

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

Je sais que ce n'est qu'une seule langue pour le moment, mais je pensais que nous ne pouvons pas vraiment avoir un défi à propos des carottes qui n'est pas répondu dans Carrot.

Enregistré 2 octets grâce à @KritixiLithos.

Explication:

#                                          // 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
la source
Je ne connais pas les langues avec des #commentaires, mais vous pouvez facilement créer un polyglotte avec l'un de ceux-ci, ajoutez simplement ce code au début, puis sous-chaîne dans le code de la carotte pour ne laisser que le #dans l'entrée.
TheLethalCoder
2
Je ne savais même pas pourquoi ce code fonctionnait (la A^partie, en partie parce que j'avais oublié depuis longtemps son implémentation), mais j'ai réalisé que c'était à cause de mon interprète terriblement écrit qui n'avait pas un analyseur approprié. Ici, ayez un +1 pour confondre le créateur de la langue.
user41805
@KritixiLithos Pour être honnête, j'essayais de le faire fonctionner avec un regex et j'ai échoué lamentablement et j'ai été moi-même surpris quand j'ai A^fini par travailler! Je suppose que lorsque vous vous séparez, vous laissez des éléments vides, alors ^^donne [ "", "", "" ].
TheLethalCoder
Vous pouvez supprimer le +"à la fin et le changer ^en laissant tomber la fin "comme ça #^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png,. Essentiellement, +avec un argument de chaîne ajoute la chaîne à la pile, mais ^fait la même chose pour un bytecount plus court.
user41805
@KritixiLithos Bien sûr merci!
TheLethalCoder