당근. 그래서. 많은. 당근


12

젠장, 그건 많은 당근입니다.

영감

영감

작업

가능한 많은 언어로 모든 인스턴스를 마크 다운 형식 링크^ 로 대체하는 프로그램을 작성해야합니다 (응답에 게시 할 경우 자동으로 이미지를 읽고 대신 이미지를 배치 함을 의미 함) 의 말)의 위를 향 당근.

상기 포맷을 사용하는 방법 :

먼저 파일의 어느 곳에 나 링크를 넣으십시오 (이 질문에 대해 내가 한 일입니다).

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

그런 다음 원하는 곳 어디에서나 :

[! [] [1]] [1]

규칙

  • 표준 허점이 적용됩니다.
  • 입력은 STDIN 또는 이와 동등한 것을 통해 이루어집니다.
  • 출력은 STDOUT 또는 이와 동등한 것입니다.
  • 코드는 사용하는 모든 언어로 완전히 작동하는 프로그램이어야합니다.
  • 당근에 사용하는 URL 이이 답변 의 URL 일 필요는 없습니다 . 이것은 단지 예일뿐입니다. SE 마크 다운에이 특정 당근이 표시되는 경우 모든 URL을 사용할 수 있습니다 .
  • 이것은 챌린지이므로, 많은 양의 당근 언어로 된 답이 이깁니다!
    • 동점 인 경우 언어 수가 가장 많은 항목의 코드 크기가 가장 짧습니다.

편집하다:

  • 또한 사소한 언어 파생어를 사용하지 마십시오! 이는 대체 언어 (Brainfuck vs. ShadyAsFuck)와 다른 언어 버전 (Python 2 vs. Python 3)을 사용함을 의미합니다.

적합 할 사소한 esolang이 많이 있습니다 ... (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 태그가있는 것은 의미가 없습니다 .
Peter Taylor

답변:


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파이썬으로 실행할 때 명령 행 플래그가 필요합니다 . X의 모든 문자로 대체 될 수있다. 줄 끝 숫자 부호 (및 세미콜론으로 시작하는 첫 번째 줄의 시작 부분에있는 숫자 부호)는 유효하지 않은 명령 ;(lisp에서 주석을 시작 함) 을 실행하려는 시도를 피하기 위해 존재합니다 . 라인에 후행 공백이 없습니다.

개행을 인쇄하기 위해 교체 55+하여 2 바이트를 절약했습니다 a.


너무 멋지고 깨끗합니다. 나는 좋아한다. +1 3 개 이상의 언어로 완성했습니다. : D
애디슨 크럼프

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#합니다. !두 언어 모두에서 무조건 트램폴린이지만 #> <>의 전 방향 미러이며 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.