萝卜。所以。许多。萝卜


12

该死的,那是很多胡萝卜。

灵感来源

灵感

任务

您必须创建一个程序,以尽可能多的语言,将每个实例替换^markdown格式的链接(这意味着如果我将其发布在答案中,它将自动将其读取为图像并将其放置在图像中的的话)这种朝上的胡萝卜。

如何使用上述格式:

首先,在文件中的任何位置,像这样放置链接(这是我针对此问题所做的操作):

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

然后,无论您在哪里想要它:

[![] [1]] [1]

规则

  • 适用标准漏洞。
  • 输入将通过STDIN或等效输入。
  • 输出将通过STDOUT或等效输出。
  • 您的代码必须是您使用的所有语言的完全可运行的程序。
  • 你用你的胡萝卜的URL并没有必须是一个在这个答案。这只是一个例子。您可以使用任何 URL,只要SE的Markdown可以显示该特定的胡萝卜。
  • 这是一个挑战,因此使用最多的胡萝卜语言的答案会成功!
    • 如果是平局,则以语言数量最多的条目的最短代码大小为准。

编辑:

  • 另外,请勿使用琐碎的语言衍生词!这意味着使用替代语言(Brainfuck与ShadyAsFuck)和不同的语言版本(Python 2与Python 3)。

有很多适合的琐碎小东西(包括9001 BF变体)

别那样

注意:是的,在支持正则表达式的语言中,该程序将显得微不足道。但是,竞争是看竞争对手可以使用几种语言。


我不明白的更换(这部分:[![http://i.stack.imgur.com/mecHl.png][1]][1]
Zereges

@Zereges您不了解什么?如果您需要其他示例,请单击“添加答案”,然后单击图像按钮。就像这个问题所示,它将自动为您构造图像降价。
艾迪生·克伦普

4
永远的胡萝卜!^^^
user41805

1
First, anywhere in the ,我不确定那里缺少哪个词。
trichoplax

2
@FryAmTheEggman,将一个问题同时标记为polyglotrosetta-stone毫无意义。
彼得·泰勒

Answers:


6

Python中,Befunge 98,Lisp中,和Javascript - 829 827 2(在python -x标志)= 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

Minkolang 0.10Befunge-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

口译员:MinkolangBefunge-93> <>

如果有人愿意,我将详细介绍每个组件,但是重要的是,它们所有人都阅读代码框的第一行和第二行,并在适当的时间输出字符。另外,我通过使用来在Befunge和Minkolang /> <>之间进行选择\,该方法在第一个交换堆栈的前两个值,而在另两个交换镜子。要分隔Minkolang和> <>,​​请使用!v#!是两种语言中的无条件蹦床,但#在> <>中是全向镜像,在Minkolang中是no-op。从那时起,每种语言都在其自己的组件中执行代码。


4

胡萝卜60 58字节

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

我知道目前这只是一种语言,但我认为我们对胡萝卜无法解决的挑战真的没有什么挑战。

感谢@KritixiLithos,节省了2个字节。

说明:

#                                          // 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.