แครอท. ดังนั้น. จำนวนมาก แครอท


12

ประณามนั่นคือแครอทจำนวนมาก

แรงบันดาลใจ

แรงบันดาลใจ

งาน

คุณต้องสร้างโปรแกรมซึ่งในหลาย ๆ ภาษาให้มากที่สุดเท่าที่จะเป็นไปได้แทนที่ทุกอินสแตนซ์^ด้วยลิงก์ที่จัดรูปแบบมาร์กดาวน์ (หมายความว่าถ้าฉันโพสต์ในคำตอบมันจะอ่านมันโดยอัตโนมัติเป็นรูปภาพและวางภาพแทน ของคำ) ของนี้แครอทขึ้นหันหน้าไปทาง

วิธีใช้การจัดรูปแบบที่กล่าวไว้:

อันดับแรกทุกที่ในไฟล์ใส่ลิงค์เช่นนี้ (นี่คือสิ่งที่ฉันทำสำหรับคำถามนี้):

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

และทุกที่ที่คุณต้องการ:

[[] [1]] [1]

กฎระเบียบ

  • มีช่องโหว่มาตรฐาน
  • อินพุตจะผ่าน STDIN หรือเทียบเท่า
  • เอาต์พุตจะผ่าน STDOUT หรือเทียบเท่า
  • รหัสของคุณจะต้องเป็นโปรแกรมที่ทำงานได้อย่างสมบูรณ์ในทุกภาษาที่คุณใช้
  • URL ที่คุณใช้สำหรับแครอทไม่จำเป็นต้องเป็นURL ในคำตอบนี้ นี่เป็นเพียงตัวอย่าง คุณสามารถใช้URL ใดก็ได้โดยมีเงื่อนไขว่า Markdown ของ SE แสดงแครอทเฉพาะนี้ด้วย
  • นี่เป็นความท้าทายที่ดังนั้นคำตอบที่มีจำนวนมากที่สุดของภาษาแครอทจะชนะ!
    • ในกรณีที่มีการผูกขนาดรหัสสั้นที่สุดของรายการที่มีจำนวนมากที่สุดของภาษาที่ชนะ

แก้ไข:

  • นอกจากนี้อย่าใช้อนุพันธ์ที่น่ารำคาญของภาษา! ซึ่งหมายถึงการใช้ภาษาทดแทน (Brainfuck vs. ShadyAsFuck) และรุ่นภาษาอื่น (Python 2 vs. Python 3)

มี esolangs เล็กน้อยให้พอดีกับ ... (รวมถึงตัวแปร 2,000 BF)

อย่าเป็นผู้ชายคนนั้น

หมายเหตุ: ใช่โปรแกรมนี้จะเล็กน้อยในภาษาด้วยการสนับสนุน regex อย่างไรก็ตามการแข่งขันคือการดูว่าคู่แข่งสามารถใช้ภาษาได้กี่ภาษา


ฉันไม่เข้าใจทดแทน (ส่วนนี้: [![http://i.stack.imgur.com/mecHl.png][1]][1])
Zereges

@Zereges สิ่งที่คุณไม่เข้าใจเกี่ยวกับมัน? หากคุณต้องการตัวอย่างอื่นให้คลิกที่ "เพิ่มคำตอบ" แล้วกดปุ่มภาพ มันจะสร้างเครื่องหมายภาพให้คุณโดยอัตโนมัติตามที่แสดงในคำถามนี้
Addison Crump

4
แครอทตลอดไป! ^^^
user41805

1
First, anywhere in the ,ฉันไม่แน่ใจว่ามีคำใดขาดหายไป
trichoplax

2
@FryAmTheEggman มันทำให้รู้สึกไม่มีคำถามที่จะติดแท็กทั้งสองพูดได้หลายภาษาและRosetta หิน
Peter Taylor

คำตอบ:


6

Python, Befunge 98, Lisp และ Javascript - 829 827 +2 (แฟล็ก-x ใน python) = 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 สามารถถูกแทนที่ด้วยตัวอักษรใด ๆ ปลายของเส้นสัญญาณจำนวน (และเครื่องหมายจุดเริ่มต้นของบรรทัดแรกที่เริ่มต้นด้วยเครื่องหมายอัฒภาค) ที่มีอยู่เพื่อหลีกเลี่ยงการ befunge พยายามที่จะดำเนินการเรียนการสอนที่ไม่ถูกต้อง;(ซึ่งจะเริ่มแสดงความคิดเห็นในเสียงกระเพื่อม) ไม่มีช่องว่างต่อท้ายบนบรรทัดใด ๆ

บันทึกสองไบต์โดยแทนที่55+ด้วยaเพื่อพิมพ์บรรทัดใหม่


แฟนซีสะอาดมาก ฉันชอบ. +1 ทำได้ดีมากเมื่อจบด้วยภาษามากกว่า 3 ภาษา : D
Addison Crump

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 จากนั้นเป็นต้นมาแต่ละภาษาจะเรียกใช้รหัสในองค์ประกอบของตนเอง


4

แครอท , 60 58 ไบต์

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

ฉันรู้ว่ามันเป็นเพียงภาษาเดียวในขณะนี้ แต่ฉันคิดว่าเราไม่มีความท้าทายเกี่ยวกับแครอทที่ไม่ได้รับคำตอบในแครอท

บันทึก 2 ไบต์ขอบคุณ @KritixiLithos

คำอธิบาย:

#                                          // 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 บอกตามตรงฉันพยายามทำให้มันทำงานกับ regex และล้มเหลวอย่างน่าสังเวชและทำให้ฉันประหลาดใจเมื่อA^สิ้นสุดการทำงาน! ฉันคาดเดาเมื่อคุณแยกคุณออกจากองค์ประกอบที่ว่างเปล่าเพื่อให้^^ [ "", "", "" ]
TheLethalCoder

คุณสามารถลบส่วน+"ท้ายและเปลี่ยนเป็น^ในขณะที่ปล่อยจุดสิ้นสุด"เช่นนั้น, #^A^S"[![][1]][1]"^[1]: http://i.stack.imgur.com/mecHl.png. โดยพื้นฐานแล้ว+ด้วยอาร์กิวเมนต์ string จะเป็นการเตรียมสตริงให้กับสแต็ก แต่^ทำสิ่งเดียวกันสำหรับจำนวนไบต์ที่สั้นกว่า
user41805

@KritixiLithos แน่นอนขอบคุณ!
TheLethalCoder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.