คริสมาสต์ควิน!


10

ในภาษาที่คุณเลือกให้เขียนโปรแกรมที่จัดเรียงในรูปแบบของต้นคริสต์มาสที่พิมพ์ตัวเองในรูปแบบเดียวกัน

สิ่งที่ไม่อนุญาต:

  • การพิมพ์ไฟล์ต้นฉบับ
  • รหัสที่ไม่มีอะไรนอกจากคำแถลงที่สะท้อนโดยล่ามโดยอาศัยอำนาจของพวกเขาเป็นตัวอักษร (เช่นเพียงใช้หอคอยรูปต้นไม้ของรายการในหลาม)

"ไม่อนุญาตให้พิมพ์ไฟล์ต้นฉบับ" แต่อ่านรหัสต้นฉบับ(ไม่ใช่จากไฟล์) และพิมพ์ได้หรือไม่ หากไม่เป็นเช่นนั้นจะเป็นไปไม่ได้เลยที่ Befunge : /
Justin

คำตอบ:


16

JavaScript

'ดาว' อาจใหญ่เกินไปสำหรับต้นไม้ ...

        (function _()
     {return('        (')
      +(''+''+''+''+'')
             +_+
            ')()'
           ;'We w'
          +'wis'+0+
         'h you a '
        +0+'merry Ch'
       +'ristmas, '+0+
      +'we '+0+'wish y'
     +0+'ou a merry Chr'
    +'istmas, we w'+0+'i'
   +0+'sh you '+0+'a merr'
  +'y Christmas and a h'+0+
 +'appy'+0+'new year! Ho ho'
+0+' ho! Merry '+0+'Christma'
            +'s!'
            })()

เลขศูนย์เป็น baubles และดูดีที่สุดในตัวแก้ไข:

ไชโยสำหรับการเน้นไวยากรณ์!

ผลลัพธ์ในเครื่องมือของนักพัฒนาซอฟต์แวร์ Chrome


3
เคล็ดลับดีกับต่างหู!
Manishearth

2
ฉันรักการรวมของ "เราหวังว่าคุณจะสุขสันต์วันคริสต์มาส!"
Iszi

11

ทับทิม

คุณไม่เคยพูดว่าเราไม่สามารถใช้การเข้าถึงเครือข่าย ... : D

        #
       s="
      open(
     'http:/
    /pastebin
   .com/raw.ph
  p?i=mGzbahp5'
 ).read";s=eval(
s.gsub! /\s/,'');
      puts(
      s+'')

เอาท์พุทตัวเองคำต่อคำ

ใช่ฉันสามารถใช้ตัวย่อ URL ได้ แต่นั่นจะทำให้ชัดเจนน้อยลงและน่าขบขัน: P ฉันต้องการบางสิ่งบางอย่างเพื่อเพิ่มพื้นที่ มิฉะนั้นต้นไม้จะเล็ก

ดำเนินการเช่นนี้

ruby -ropen-uri christmasquine.rb

5
ในความคิดของฉันคุณโกง แต่คุณพูดถูกเกี่ยวกับกฎ ชิงไหวชิงพริบโดยลูกบิดประตู อย่างไรก็ตามนี่คือ upvote ของคุณที่ทำให้ฉันยิ้ม :)
Manishearth

1
@mearearthth อ๋อพวกเรางอกฎเยอะมากที่นี่! ส่วนหนึ่งของความสนุก : P (เช่นตัวอักษร 0 ตัวอักษรเป็นต้น)
Doorknob

@Mearearthth ใช่สิ่งที่ Doorknob พูด หากคุณไม่ต้องการก้มกฎคุณต้องรวมกฎกับการดัดกฎนั้น ดังนั้นทำไมความท้าทาย "reverse quine" และ "mirror quine" ล่าสุดจึงมีกฎกับ palindromes และ quines ที่สั้นกว่า 2 ตัวอักษร
Iszi

4

Perl

#!/usr/bin/perl
$_=<<'the source';eval $_;

          #
         #*#
        print
       "#!/u".
      "sr/bin".
     "/perl \n".
    "\$_=<<'the".
   " source';eva".
  "l \$_;\n${_}th".
 "e source\n";# Mery 
#Christmas to all !!!
         ###
         ###
         #*#

the source

4

นี่คือสิ่งเล็ก ๆ ในGolfScript :

   {
  ".~  
 "2/~\
+@@2$*}.
   ~

โปรดทราบว่ารหัสด้านบนมีอักขระเว้นวรรคสองตัวที่ท้ายบรรทัดที่สองจากด้านบน ช่องว่างเหล่านั้นจำเป็นสำหรับการดำเนินการที่ถูกต้อง นอกจากนี้รหัสควรจะบันทึกไว้โดยใช้ระบบปฏิบัติการยูนิกซ์สไตล์ ( LF) linefeeds ไม่ใช้ Windows สไตล์+CRLF


ต่อไปนี้เป็นข้อความที่มีขนาดใหญ่กว่า (และไวต่อการเว้นวรรคน้อยกว่าเล็กน้อย) รวมถึงข้อความเทศกาล:

     {
    " "
   MERRY
  5*n\+\n
 CHRISTMAS
".~"+2$*1>}
     .
     ~

คุณลักษณะที่น่าสนใจเล็กน้อยคือคำMERRYและCHRISTMASไม่ใช่ตัวอักษรสตริงแม้ว่าจะไม่ใช่ตัวเลือกและจะถูกคัดลอกไปยังเอาต์พุตพร้อมกับบล็อกโค้ดที่ล้อมรอบพวกเขา

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