Cenouras. Assim. Muitos. Cenouras


12

Porra, isso é um monte de cenouras.

A inspiração

inspiração

A tarefa

Você deve criar um programa que, no maior número possível de idiomas, substitua todas as instâncias ^por um link formatado de remarcação (o que significa que, se eu fosse postá-lo em uma resposta, ele o leria automaticamente como uma imagem e, em vez disso, colocaria a imagem. das palavras) desta cenoura virada para cima.

Como usar a referida formatação:

Primeiro, em qualquer lugar do arquivo, insira o link assim (isto é o que eu fiz para esta pergunta):

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

E então, onde você quiser:

[! [] [1]] [1]

Regras

  • Aplicam-se brechas padrão.
  • A entrada será através de STDIN ou equivalente.
  • A saída será através de STDOUT ou equivalente.
  • Seu código deve ser um programa totalmente operacional em todos os idiomas que você usa.
  • O URL que você usa para sua cenoura não precisa ser o único nesta resposta. Este foi apenas um exemplo. Você pode usar qualquer URL, desde que o Markdown da SE mostre essa cenoura específica.
  • Este é um desafio , por isso ganha a resposta com a maior quantidade de idiomas de cenouras !
    • No caso de empate, vence o menor tamanho de código das entradas com o maior número de idiomas.

EDITAR:

  • Além disso, NÃO use derivados triviais de idiomas! Isso significa usar uma linguagem de substituição (Brainfuck vs. ShadyAsFuck) e versões de idiomas diferentes (Python 2 vs. Python 3).

Existem muitos esolangs triviais para ajustar ... (incluindo as variantes do 9001 BF)

Não seja esse cara.

Nota: Sim, este programa será um pouco trivial em idiomas com suporte a regex. No entanto, a competição é ver quantos idiomas os concorrentes podem usar.


Eu não entendo a substituição (esta parte: [![http://i.stack.imgur.com/mecHl.png][1]][1])
Zereges

@Zereges O que você não entende sobre isso? Se você quiser outro exemplo disso, clique em "Adicionar resposta" e clique no botão da imagem. Ele construirá automaticamente a marcação de imagem para você, conforme mostrado nesta pergunta.
Addison Crump #

4
Cenouras para sempre! ^^^
user41805

1
First, anywhere in the ,Não tenho certeza de qual palavra está faltando lá.
Trichoplax

2
@FryAmTheEggman, não faz sentido que uma pergunta seja marcada como poliglota e rosetta-stone .
Peter Taylor

Respostas:


6

Pitão, Befunge 98, Lisp, e Javascript - 829 827 2 (bandeira -x em python) = 831 829 bytes

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

Requer o -xsinalizador de linha de comando quando executado com python. os Xs podem ser substituídos por qualquer caractere. Os sinais numéricos de final de linha (e o sinal numérico no início da primeira linha que começa com ponto-e-vírgula) estão presentes para evitar antes de tentar executar a instrução inválida ;(que inicia um comentário em lisp). Não há espaço à direita em nenhuma das linhas.

Salva dois bytes substituindo 55+por apara imprimir uma nova linha.


Tão chique, tão limpo. Eu gosto. +1 Muito bem ao concluir com mais de 3 idiomas. : D
Addison Crump

19

Minkolang 0,10 , Befunge-93 , > <> ; 3 idiomas 2D, 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

Intérpretes: Minkolang , Befunge-93 , > <> .

Entrarei em detalhes sobre cada componente, se alguém quiser, mas o importante é que todos leiam a primeira e a segunda linhas da caixa de códigos e produzam os caracteres nos momentos apropriados. Além disso, eu decido entre Befunge e Minkolang /> <> pelo uso de \, que troca os dois principais valores da pilha no primeiro e é um espelho nos outros dois. Para separar Minkolang e> <>, eu uso !v#. !é um trampolim incondicional nos dois idiomas, mas #é um espelho omnidirecional em> <> e não-op em Minkolang. A partir de então, cada idioma executa o código em seu próprio componente.


4

Cenoura , 60 58 bytes

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

Sei que é apenas uma língua no momento, mas pensei que não podemos realmente ter um desafio sobre cenouras que não é respondido na Cenoura.

Economizou 2 bytes graças a @KritixiLithos.

Explicação:

#                                          // 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

Eu não estou familiarizado com nenhum idioma com #comentários, mas você pode facilmente criar um poliglota com um desses, basta adicionar esse código no início e depois substring no código da cenoura para deixar apenas #a entrada.
TheLethalCoder

2
Eu nem sabia por que esse código funcionava (a A^parte, em parte porque eu havia esquecido sua implementação), mas então percebi que era por causa do meu intérprete terrivelmente escrito que falta um analisador adequado. Aqui, marque +1 para confundir o criador do idioma.
user41805

@KritixiLithos Para ser honesto, eu estava tentando fazê-lo funcionar com um regex e falhei miseravelmente e fiquei surpreso quando A^acabei trabalhando! Eu acho que quando você se divide, você deixa elementos vazios para ^^dar [ "", "", "" ].
TheLethalCoder

Você pode remover o +"no final e alterá-lo para ^enquanto solta o final "dessa forma #^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png,. Essencialmente, +com um argumento string , a string é anexada à pilha, mas ^faz o mesmo para um número de bytes mais curto.
user41805

@KritixiLithos Claro que obrigado!
TheLethalCoder
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.