पॉलीगोट को ट्रिक या ट्रीट करें


160

जब से हैलोवीन आ रहा है मैंने सोचा कि मैं एक मजेदार कोड गोल्फ चुनौती शुरू कर सकता हूं!

चुनौती काफी सरल है। आपको एक प्रोग्राम लिखना होगा जो trickया तो आउटपुट करता है या treat
"ट्विस्ट?" आप पूछ सकते हैं। खैर मुझे समझाने की:

आपके कार्यक्रम को निम्न कार्य करना है:

  • दो अलग-अलग भाषाओं में संकलन / चलाने योग्य हो। एक ही भाषा के विभिन्न संस्करणों की गिनती नहीं है।
  • जब आप प्रोग्राम को एक भाषा में चलाते हैं तो इसे आउटपुट करना चाहिए trickऔर दूसरे को आउटपुट देना चाहिए treat। मामला अप्रासंगिक है और व्हाट्सएप पात्रों के साथ स्ट्रिंग को पेडिंग करने की अनुमति है (उदाहरण देखें)।
  • यह , इसलिए सबसे कम बाइट जीतता है।

कुछ स्पष्टीकरण:

मान्य आउटपुट (सिर्फ दो भाषाओं में कोड चलाने के लिए नहीं। आउटपुट की शुरुआत या संकेत देने के लिए उद्धरण भी जोड़ें। उन्हें अपने समाधान में शामिल न करें!)।

"trick"

"Treat"

"    TReAt"

"
     tRICk          "

अमान्य आउटपुट :

"tri ck"

"tr
eat"

"trck"

मुझे यह देखने में दिलचस्पी है कि आप क्या कर सकते हैं! हैप्पी गोल्फिंग!

मैं यह नोट करना चाहूंगा कि यह मेरी पहली चुनौती है इसलिए यदि आपके पास इस सवाल के सुझाव हैं तो कृपया उन्हें एक टिप्पणी के रूप में छोड़ दें।

लीडरबोर्ड

यहां एक नियमित लीडरबोर्ड और भाषा के अनुसार विजेताओं का अवलोकन करने के लिए एक स्टैक स्निपेट है।

यह सुनिश्चित करने के लिए कि आपका उत्तर दिख रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:

# Language Name, N bytes

Nआपके सबमिशन का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:

# Ruby, <s>104</s> <s>101</s> 96 bytes

यदि आप अपने हेडर में कई संख्याओं को शामिल करना चाहते हैं (जैसे कि आपका स्कोर दो फ़ाइलों का योग है या आप दुभाषिया ध्वज दंड को अलग से सूचीबद्ध करना चाहते हैं), तो सुनिश्चित करें कि हेडर में वास्तविक अंक अंतिम संख्या है:

# Perl, 43 + 2 (-p flag) = 45 bytes

आप भाषा के नाम को एक लिंक भी बना सकते हैं जो लीडरबोर्ड स्निपेट में दिखाई देगा:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


21
यह मेटा उत्तर बताता है कि यदि कोई अच्छा कारण है तो निकट-डुप्लिकेट को सहन किया जा सकता है। मेरा मानना ​​है कि हैलोवीन के करीब होने से इस सवाल को जो लोकप्रियता मिली है, वह अपने आप में एक अच्छा कारण है, इसलिए मैं फिर से मतदान करूंगा। मैं हैलोवीन के बाद इसे बंद करने का मन नहीं करूंगा (लेकिन मुझे नहीं पता कि यह अच्छी बात होगी या तो)।
आरोन

2
@ mbomb007। यह क्या नकल है ?
TRIG

3
निश्चित रूप से एक डुप्लिकेट नहीं। केवल एक ही बात उस अन्य के बारे में एक ही है कि यह निर्दिष्ट आउटपुट के साथ एक बहुविकल्पीय चुनौती भी है।
ब्रायन मिंटन

3
... 3 पृष्ठ ... मुझे वास्तव में लगता है कि यह मौसमी संस्करण के वर्तमान मूल्य के आधार पर बहुत सारी गतिविधि हो रही है।
wizzwizz4 10

2
क्या शानदार सवाल है! मैं प्यार करता हूं कि कैसे कुछ उत्तर रोशन होते हैं और शोषण करते हैं कि कैसे सरल कोड अंशों का मतलब अलग-अलग भाषाओं में अलग-अलग चीजों में होता है - जैसे सत्यता / मिथ्यापन और टर्नरी ऑपरेटर की सहानुभूति।
डॉन हैच

जवाबों:


145

2sable / pl , 8 बाइट्स

0000000: 74 72 65 61 74 93 d0 cb                          treat...

दोनों कार्यक्रमों का स्थानीय रूप से एक ही 8 बाइट फ़ाइल के साथ परीक्षण किया गया है, इसलिए यह एक उचित पॉलीग्लॉट है।

2sable: चाल

यह कोड पेज 1252 में कार्यक्रम है ।

treat“ÐË

इसे ऑनलाइन आज़माएं!

pl: इलाज

यह कोड पेज 437 में कार्यक्रम है ।

treatô╨╦

इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

2sable: चाल

t         Square root. Errors since there is no input. The exception is caught, the
          stack left unaltered, and the interpreter pretends nothing happened.
 r        Reverse stack.
          Reversed empty stack is still empty stack. ;(
  e       Compute nCr. Errors since there is no input.
   a      Alphanumeric test. Errors since there is no input.
    t     Square root. Errors since there is no input.
     “    Begin a lowercase string literal.
      Ð     Excluding ‘, ’, “, and ”, Ð is the 71st non-ASCII character in CP1252.
       Ë    Excluding ‘, ’, “, and ”, Ë is the 66th non-ASCII character in CP1252.
          (implicit) End string literal.
          Both characters together fetch the dictionary word at index
          71 * 100 + 66 = 7166, which is 'trick'.

pl: इलाज

treat     Bareword; push the string "treat" on the stack.
     ô    Unimplemented. Does nothing.
      ╨   Flatten the stack. This doesn't affect the output.
       ╦  Unimplemented. Does nothing.

15
लेकिन मैं इस जवाब को स्वीकार करने के लिए मिल गया है सादा हास्यास्पद! आगे क्या होगा? एक उत्तर जो अपने आप में शब्दों से छोटा है?
ब्रेनस्टोन

45
यह जवाब बेहद प्रभावशाली है। यह आश्चर्यजनक है कि आप दो शब्दों की लंबाई से कम प्रोग्राम लिखने में कामयाब रहे।
डीजेएमकेम

1
है ना? वे 2 कार्यक्रम हैं
FireCubez

1
@FireCubez यह एक ही कोड, बाइट प्रति बाइट है। दृश्य प्रतिनिधित्व हालांकि कोडपेज के साथ बदलता रहता है।
डेनिस

200

पायथन / विंडोज बैच, 25 बाइट्स

print"trick"#||echo.treat

# के बाद सब कुछ अजगर द्वारा एक टिप्पणी के रूप में व्याख्या की है, जबकि || एक या बैच में है, यह कहते हुए कि पिछली कमांड विफल होने के बाद, इसे निष्पादित करें।

मुझे भी OR का उपयोग पसंद है क्योंकि यह लगभग "ट्रिक या ट्रीट" पढ़ता है :)


33
टीबीएच I ने ओआर के बारे में टिप्पणी के लिए इसे केवल वोट दिया।
Jmons

7
टीबीएच मैंने कभी भी अपनी पहली पोस्ट की उम्मीद नहीं की थी यहां 65
अपवोट्स मिलेंगे

11
टीबीएच केवल अपवोट के बारे में बात नहीं करता है। इसका क्वारा नहीं
एस एंड्रयू

3
@ इस समुदाय के बिलकुल नए सदस्य के रूप में, मुझे उम्मीद नहीं थी कि मैं इस पोस्ट को जल्दी ही पुनः प्राप्त कर लूँगा और मुझे खुशी है कि मैं इसमें योगदान कर पाया। मैं डींग मारने की कोशिश नहीं कर रहा हूँ, कृपया गलतफहमी न पालें। मैं वास्तव में बहुत अच्छी तरह से छुटकारा पाकर खुश हूं क्योंकि मैं बहुत नया हूं। आप टिप्पणी के लिए धन्यवाद :)
nephi12

2
@YotamSalmon समुदाय की सर्वसम्मति कहती है कि STDERR को डिफ़ॉल्ट रूप से अनदेखा किया जाता है; केवल STDOUT पर विचार किया जाता है। के साथ फिर से कमांड का प्रयास करें 2>nul
कॉनर ओ'ब्रायन

153

व्हॉट्सएप / स्टाररी, 135 बाइट्स

यहाँ हैलोवीन पर एक स्पष्ट रात आकाश है!

  + + + + + 
    +

* + + * + *

   + *           
     + +        

 + * +   



 + * +। + + + * + + *। । ।

ध्यान दें कि उपरोक्त कोड से कॉपी करने पर खाली लाइनों पर व्हॉट्सएप संरक्षित नहीं किया जा सकता है

व्हॉट्सएप आउटपुट "TRICK"। इसे ऑनलाइन आज़माएं!
तारों से "TREAT" आउटपुट होता है। इसे ऑनलाइन आज़माएं!

व्याख्या

तारों से जड़ा

तारों से सभी टैब और नई लाइनों को नजरअंदाज कर दिया जाता है ताकि कोड जो पढ़ता है वह निम्नलिखित है

         + + + + + +  * +   +*   +  *   +  *       + +   +* +   +* + .  + .   +      +* +   +* . . .

स्टार्स में स्टैक और अंकगणितीय संचालन की तुलना में, बाइट्स, पुशिंग मान बहुत महंगा है। कोड 4 धक्का और डुप्लिकेट द्वारा शुरू होता है और उस पर कई ऑपरेशन करता है और 2 और 1 के साथ बाद में सभी आवश्यक ASCII मूल्यों का उत्पादन करता है।

एनोटेट कोड

Stack (after op)    Code        Operation
4                            +  Push 4
4 4 4 4 4 4          + + + + +  Duplicate top of stack 5 times
4 4 4 4 16            *         Multiply top two items
4 4 4 4 16 16        +          Duplicate top of stack
4 4 4 16 4 16          +        Rotate top three items on stack right
4 4 4 16 20         *           Add top two items
4 4 20 4 16            +        Rotate...
4 4 20 64             *         Multiply...
4 64 4 20              +        Rotate...
4 64 80               *         Multiply...
4 64 80 2                  +    Push 2
4 64 80 2 2          +          Duplicate...
4 64 2 80 2            +        Rotate...
4 64 2 82           *           Add...
4 64 2 82 82         +          Duplicate...
4 64 82 2 82           +        Rotate...
4 64 82 84          *           Add...
4 64 82 84 84          +        Rotate...
4 64 82 84           .          Pop and print as character (T)
4 64 84 82            +         Swap top two items on stack
4 64 84              .          Pop and print... (R)
84 4 64                +        Rotate...
84 4 64 1                 +     Push 1
84 4 65             *           Add...
84 4 65 65           +          Duplicate...
84 65 4 65             +        Rotate...
84 65 69            *           Add...
84 65                .          Pop and print... (E)
84                   .          Pop and print... (A)
                     .          Pop and print... (T)

श्वेत रिक्ति

जैसा कि नाम से ही पता चलता है कि व्हॉट्सएप केवल तीन व्हाट्सएप कैरेक्टर- स्पेस, टैब और न्यूलाइन को पार्स करता है। तारों के विपरीत, व्हाइटस्पेस बस ASCII के मूल्यों धक्का T, R, I, Cऔर, Kऔर उन्हें प्रिंट।

एनोटेट कोड

<Space><Space><Space><Tab><Space><Tab><Space><Space><Tab><Space><LF> Push the ASCII value of R
<Space><Space><Space><Tab><Space><Tab><Space><Tab><Space><Space><LF> Push the ASCII value of T
<Tab><LF><Space><Space> Pop and print the T
<Tab><LF><Space><Space> Pop and print the R
<Space><Space><Space><Tab><Space><Space><Tab><Space><Space><Tab><LF> Push the ASCII value of I
<Tab><LF><Space><Space> Pop and print the I
<Space><Space><Space><Tab><Space><Space><Tab><Space><Tab><Tab><LF>   Push the ASCII value of K
<Space><Space><Space><Tab><Space><Space><Space><Space><Tab><Tab><LF> Push the ASCII value of C
<Tab><LF><Space><Space> Pop and print the C
<Tab><LF><Space><Space> Pop and print the K
<LF><LF><LF>            Terminate the program. The following line is not run.
<Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><Space><LF>

पुट और प्रिंट्स की इंटरविविंग को पूरी तरह से सौंदर्य कारणों के आधार पर चुना गया क्योंकि यह बाइट काउंट को प्रभावित नहीं करता है।


11
बहुत सुंदर आकाश
lois6b

8
यह अब तक का सबसे अच्छा जवाब है, इसलिए रचनात्मक है। im सरलता से हैरान। और कौशल। वाहवाही!
नेफी 12

137

लिनक्स ELF x86 / DOS .COM फ़ाइल, 73 बाइट्स

00000000  7f 45 4c 46 01 00 00 00  1a 00 00 00 1a 00 43 05  |.ELF..........C.|
00000010  02 00 03 00 1a 00 43 05  1a 00 43 05 04 00 00 00  |......C...C.....|
00000020  eb 0c b4 09 ba 41 01 cd  21 c3 20 00 01 00 b2 05  |.....A..!. .....|
00000030  b9 3b 00 43 05 cd 80 2c  04 cd 80 74 72 69 63 6b  |.;.C...,...trick|
00000040  00 74 72 65 61 74 24 eb  d9                       |.treat$..|
00000049

NASM स्रोत:

ORG 0x05430000

BITS 32                                         ;
                                                ;   ELF HEADER    --   PROGRAM HEADER
; ELF HEADER                                    ; +-------------+
DB 0x7f,'E','L','F'                             ; | magic       |    +--------------------+
                                                ; |             |    |                    |
; PROGRAM HEADERS                               ; |             |    |                    |
DD 1                                            ; |*class 32b   | -- | type: PT_LOAD      |
                                                ; |*data none   |    |                    |
                                                ; |*version 0   |    |                    |
                                                ; |*ABI SysV    |    |                    |
DD 0x01a        ; offset = vaddr & (PAGE_SIZE-1); |*ABI vers    | -- | offset             |
                                                ; |             |    |                    |
entry:  DD 0x0543001a                           ; |*PADx7       | -- | vaddr = 0x0543001a |
DW 2                                            ; | ET_EXEC     | -- |*paddr LO           |
DW 3                                            ; | EM_386      | -- |*paddr HI           |
DD 0x0543001a                                   ; |*version     | -- | filesz             |
;       inc     ebx     ; STDOUT_FILENO         ; |             |    |                    |
;       mov     eax, 4  ; SYS_WRITE             ; |             |    |                    |
DD 0x0543001a                                   ; | entry point | -- | memsz              |
DD 4                                            ; | ph offset   | -- | flags: RX          |
                                                ; |             |    |                    |
        jmp     short skip                      ; |*sh offset   | -- |*align              |
BITS 16                                         ; |             |    |                    |
treat:  mov     ah, 9                           ; |             | -- |                    |
        mov     dx, trick + 0x100 + 6           ; |*flags ______|    |                    |
        int     0x21                            ; |______/      |    +--------------------+
        ret                                     ; |*ehsize      |
BITS 32                                         ; |             |
DW 32                                           ; | phentsize   |
DW 1                                            ; | phnum       |
skip:                                           ; |             |
        mov     dl, 5   ; strlen("trick")       ; |*shentsize   |
        mov     ecx, trick                      ; |*shnum       |
                                                ; |*shstrndx    |
                                                ; +-------------+
        int     0x80
        sub     al, 4   ; SYS_EXIT
        int     0x80


trick:  DB      "trick/treat$"

BITS 16
        jmp     short treat

यह इस तथ्य का उपयोग करता है कि ईएलएफ हेडर 7 एफ 45 से शुरू होता है, जिसे एक्स 86 कोड के रूप में व्याख्या की जाती है, यह एक छलांग है।

डॉस .COM के लिए प्रासंगिक भाग:

-u100 l2
07D2:0100 7F45          JG      0147
-u147 l2
07D2:0147 EBD9          JMP     0122
-u122 l8
07D2:0122 B409          MOV     AH,09
07D2:0124 BA4101        MOV     DX,0141
07D2:0127 CD21          INT     21
07D2:0129 C3            RET
-d141 l6
07D2:0140     74 72 65 61 74 24   -                           treat$

4
ब्रावो, सर। वाहवाही।
२६:१६ पर ड्रेकोनिस

9
मेरा दिल धक्क से कर गया।
जॉन कीट्स 13

muppetlabs.com/~breadbox/software/tiny/teensy.html हेडर ओवरलैप ट्रिक में रुचि रखने वाले किसी भी व्यक्ति के लिए यह एक अच्छा रीड है।
शुक्राणु

4
यह इस साइट पर मेरे द्वारा देखे गए बेहतरीन उत्तरों में से एक है। कोडगॉल्फ थोड़ा बहुत अक्सर गूढ़ भाषाओं में बदल जाता है जिसका उद्देश्य चतुर जवाब के बजाय गोल्फिंग के लिए बनाया जाता है। ये सुन्दर है।
क्लेक्टिक

यह बढ़िया सामान है।
गोसेमैन

103

बुराई / ZOMBIE , 109 बाइट्स

एक और डरावना जवाब!

xf is a vampire summon task f say "trick" stumble say "jzuueeueeawuuwzaeeaeeaeawuuuuwzuueeueeaw" animate bind

यह ZOMBIEकोड एक ऐसे vampireनाम को परिभाषित करता है xfजिसका एकमात्र कार्य fइंस्टेंशन पर सक्रिय है और इसके trickद्वारा निष्क्रिय किए जाने से पहले एक बार आउटपुट होगा stumble। अन्यsay कॉल मृत कोड है (कैसे उपयुक्त है!) के लिए ZOMBIE, लेकिन अधिकांश evilकोड शामिल हैं।

के लिए evil, xfनाम अगले पर कूदने के लिए एक कॉल है j, जो zuueeueeawuuwzaeeaeeaeawuuuuwzuueeueeawकि शिल्प और आउटपुट के ज़ोंबी चंद्रमा से पहले है treat। निम्नलिखित कोड को या तो निष्पादित किया जाता है (अक्षरों को कम किया जाता है) या अनदेखा किया जाता है लेकिन चूंकि wकोई आउटपुट नहीं है, इसलिए इसका उत्पादन नहीं किया जाना चाहिए।


1
@KevinCruijssen धन्यवाद, मैंने इस अवसर का आनंद कुछ कम-प्रसिद्ध गूढ़ भाषाओं में पाने के लिए किया :)
हारून

खैर, आपके द्वारा उपयोग किए गए चार में से मैंने कुछ समय पहले एगनी को देखा है, और मुझे ज़ोबी को एक बार देखने की याद है। हालांकि इससे पहले कभी हाशेल या बुराई के बारे में नहीं सुना। :)
केविन क्रूज़सेन

इस की थीमाधारित प्रभावशाली है! मैंने कभी उन दो भाषाओं के बारे में भी नहीं सुना
ejfrancis

95

पायथन / पर्ल, 28 बाइट्स

print([]and"trick"or"treat")

व्याख्या

चूंकि []पर्ल में एक ArrayRef है, यह सत्य है, लेकिन यह पायथन में एक खाली सरणी है, इसलिए मिथ्या है।


7
इसी तरह, print({}and"trick"or"treat")पायथन / लुआ में।
user200783

1
@ user200783 यह भी पर्ल में एक ही प्रभाव है, क्योंकि {}एक हैशरीफ है!
डोम हेस्टिंग्स

2
पायथन / रूबी के लिए भी लगभग समान है, लेकिन इसके लिए एक अतिरिक्त व्हाट्सएप की आवश्यकता है:print ([]and"trick"or"treat")
वैल्यू इंक

2
इसे प्यार करना! यह पठनीय रूपांतरण-टू-बूल पठनीयता के लिए क्या करता है, इस पर एक महान टिप्पणी है।
डॉन हैच

यदि यह होता तो यह लुआ, पर्ल, और पायथन में एक बहुभुज हो सकता था print({}and"trick"or"treat")!
ckjbgames

48

PHP / जावास्क्रिप्ट, 32 30 बाइट्स

trickPHP और treatJS में प्रदर्शित करता है ।

NaN?die(trick):alert('treat');

अनजान NaN स्थिरांक को स्पष्ट रूप से PHP द्वारा स्ट्रिंग में बदल दिया जाता है, जिससे यह सत्य हो जाता है। जेएस में यह मिथ्या है।

वैकल्पिक विधि, 38 बाइट्स

(1?0:1?0:1)?die(trick):alert('treat');

जेएस में टर्नरी ऑपरेटर सही सहयोगी है:

                1 ? 0 : 1 ? 0 : 1
 is parsed as:  1 ? 0 : (1 ? 0 : 1)
 which equals:  0

और PHP में बाएं सहयोगी

                1 ? 0 : 1 ? 0 : 1
 is parsed as:  (1 ? 0 : 1) ? 0 : 1
 which equals:  1

1
आप सही कह रहे हैं, मेरा बुरा
गैरेथ पार्कर

चेतावनी () HTML में जावास्क्रिप्ट है, हालांकि, कंसोल से जावास्क्रिप्ट नहीं।
पीटर फेरी

1
वैकल्पिक विधि: '\ 0' == "\ 0"? मर (चाल): सतर्क ('इलाज'); `।
इस्माइल मिगुएल

3
PHP में जंजीरदार टर्नरी ऑपरेटरों को डीबग करना बहुत मजेदार होना चाहिए।
रॉबर्ट फ्रेजर

3
@Robert PHP में कुछ भी डीबग करना बहुत मजेदार है।
संपतश्री

39

HTML / HTML + जावास्क्रिप्ट, 53 बाइट्स

treat<script>document.body.innerHTML='trick'</script>

treatHTML में डॉक्यूमेंट की पाठ्य सामग्री है।
यदि JS सक्षम है, तो यह HTML सामग्री को बदल देगा trick


3
दिलचस्प समाधान। मुझे यह पसंद है
ब्रेनस्टोन

1
आपको document.write()इसके बजाय उपयोग करना चाहिए । -8 बाइट्स
darrylyeo

@darrylyeo document.writeHTML आउटपुट की जगह नहीं लेगा, बल्कि इसे जोड़ देगा।
टाइटस

1
क्रोम में परीक्षण किया गया। पूरी तरह से काम करता है। जावास्क्रिप्ट को चालू और बंद करने से सामग्री ताज़ा हो जाती है।
ताताराइज़ करें

@Tatarize: फ़ायरफ़ॉक्स 49, ओपेरा 41, सफारी 5.0, क्रोम 54, विंडोज़ पर एज 38, आईओएस पर फ़ायरफ़ॉक्स 5.3 और आईओएस, फ़ायरफ़ॉक्स 49 और एंड्रॉइड पर डॉल्फिन 11.5 पर 5.0 टेस्ट। विंडोज पर केवल फ़ायरफ़ॉक्स की जगह; अन्य सभी को जोड़ें।
टाइटस

33

सी / जावा 7, 165 155 128 123 122 120 120 बाइट्स

//\
class a{public static void main(String[] s){System.out.print("treat"/*
main(){{puts("trick"/**/);}}

// \ _ अगली पंक्ति को भी C में एक टिप्पणी करता है, लेकिन जावा में एक नियमित एक टिप्पणी है, इसलिए आप C को जावा के लिए मतलब कोड को अनदेखा कर सकते हैं और दूसरी पंक्ति में जोड़कर * आप जावा के लिए एक टिप्पणी कर सकते हैं जो सी द्वारा कोड के रूप में पार्स किया गया।

संपादित करें: मैंने लाइनों और टिप्पणियों को पुनर्गठित करके इसे थोड़ा सुधार दिया।

Edit2: मैंने कुछ और पुनर्गठन किए और इसे और भी छोटा कर दिया।

Edit3: मैंने 5 बाइट्स निकालने के लिए ब्रेनस्टोन द्वारा सुझाए गए सुधार को जोड़ा, धन्यवाद :)

Edit4: एक नई लाइन अनावश्यक निकली जिससे मैंने इसे हटा दिया।

Edit5: मैंने प्रिंटफ़ को पुट में बदल दिया।

Edit6: मैंने रे हेमेल द्वारा सुझाए गए एक सुधार को जोड़ा।


1
आप कर सकते हैं सेल्सियस के लिए C ++ बदल रहा है और जगह से 1 बाइट सुरक्षित #include<stdio.h>के साथ #include<cstdio>। ज्यादा नहीं लेकिन एक बाइट एक बाइट है। और इसके अलावा 4 बाइट्स को सुरक्षित रूप int से हटाना mainहोगा। intC और C ++ द्वारा निहित है
ब्रेनस्टोन

धन्यवाद, मैंने आपके सुझावों के अनुसार कोड को संशोधित किया :)
I_LIKE_BREAD7

1
अच्छा! मेरे पास जावा के लिए कुछ करने के लिए एक कठिन समय था, और खुद जावा 7 + व्हॉट्सएप के साथ समाप्त हुआ । Btw, आप अंतरिक्ष को हटाकर एक और बाइट को गोल्फ कर सकते हैं String[]s
केविन क्रूज़सेन

29

जोल्फ + चाओने, 12 बाइट्स

क्योंकि चाओएन एन्कोडिंग के साथ अपलोड करने के लिए फाइल स्वीकार नहीं कर सकता है, मैं यूटीएफ -8 मानता हूं। (यदि मैं ISO-8859-7 मान सकता हूं, तो यह 11 बाइट्स होगा, लेकिन यह अनुचित होगा।)

trick«treat

Cha Inne में, «एक टिप्पणी शुरू करता है, और बाकी छपी हुई है। जोल्फ में, «एक स्ट्रिंग शुरू करता है। शुक्र है, trickहानिकारक ( 10; range(input, parseInt(input))मूल रूप से) कुछ भी नहीं करता है , और treatमुद्रित होता है।

यहाँ जोल्फ की कोशिश करो!

यहाँ का प्रयास करें!

वे दोनों मेरे ब्राउज़र (फ़ायरफ़ॉक्स, नवीनतम संस्करण) पर काम करते हैं, लेकिन अन्य ब्राउज़रों के लिए भी ऐसा नहीं कहा जा सकता है।


2
मुझे लगता है कि कई अस्पष्ट भाषाओं की सूची होने के कारण इसके लाभ हैं ...
कॉनर ओ'ब्रायन

1
यह देखकर अच्छा लगा कि हम एकांत के करीब पहुंच रहे हैं और केवल शब्दों से खुद को बाहर निकाल रहे हैं। मुझे आश्चर्य है कि अगर कोई भी पुन: उपयोग कर सकता है tr
BrainStone

1
@BrainStone मुझे व्यक्तिगत रूप से संदेह है कि trकिसी भी गोल्फ में पुन: उपयोग किया जा सकता है - यह जानकारी का एक छोटा सा टुकड़ा है जो कम से कम एक ऑपरेटर को गोल्फ भाषाओं में सांकेतिक शब्दों में बदलना होगा, फिर एक भाषा विशिष्ट सशर्त। यह शायद या तो एक ही लंबाई के लिए, या लंबे समय तक भी होगा। हालाँकि, यह सिर्फ मेरा अनुमान है;)
कॉनर ओ'ब्रायन

चलो पता करते हैं। लेकिन मुझे सहमत होना होगा। 10 या उससे कम की बाइट गिनती पागल होगी!
BrainStone

@ ब्रेनस्टोन, 8 बाइट्स: codegolf.stackexchange.com/a/97580/5011
SeanC

27

# रील / एगोनी , 43 बाइट्स

इतना ><>हर जगह, यह क्या है, एक अप्रैल फूल चुनौती? यहाँ उचित रूप से थीम वाली भाषाओं के साथ एक उत्तर दिया गया है।

--<.<.<.<.<.$
io.write("trick")--+<~}~@+{+<

#hellका एक सबसेट है LUAजो सौभाग्य से io.writeआउटपुट कॉल स्वीकार करता है। हम का उपयोग LUAके --इतना है कि यह केवल इस टुकड़ा कार्यान्वित टिप्पणी नहीं।

Agonyएक Brainfuckव्युत्पन्न है, जिसमें एक ही टेप पर अपने कोड और काम करने की स्मृति की विशिष्टता है। पहली पंक्ति केवल कोड सेगमेंट के अंत से 5 वर्णों (10 कोशिकाओं) को प्रिंट करती है, जहां मैंने कमांड के treatरूप में एन्कोड किया था AgonyLUAटिप्पणी का उद्घाटन --एक सेल के मूल्य को संशोधित करता है जिसका उपयोग नहीं किया जाता है।


मुझे कहना है कि आपके हैलोवीन थीम्ड सबसे अच्छे इमो हैं। बहुत रचनात्मक!
ब्रेनस्टोन

@BrainStone धन्यवाद, मुझे उन्हें बनाने में मज़ा आया!
आरोन

27

Cubix / Hexagony , 31 बाइट्स

t;./e;_a]"kcirt">o?@;=v=./r;\;/

इसे बाहर छल! इसे ऑनलाइन ट्रीट करें!

हैलोवीन थीम्ड ? इन भाषाओं और कोड के बारे में भयानक तथ्यों पर ध्यान दें:

  1. अगर आप कुछ नहीं करते हैं, तो भी आप कभी नहीं कर सकते उस लूप से बाहर निकल जो आपके द्वारा चलाए जा रहे हैं।
  2. और एक 3 डी और एक 2 डी प्रोग्रामिंग भाषा (ओह पीड़ा ...) के बीच में फंस गया
  3. आयामों के अंदर, आप धीरे-धीरे वहीं खो जाएंगे जहां आप हैं ... जहां आप थे ...
  4. और =v=आपके सामने एक मुस्कुराहट है जो कोड में बिना ऑप्स के काम करती है

आइए आयामों और आतंक के छिपे हुए 31-बाइट्स संचार प्रोटोकॉल के रहस्य में खुदाई करें ...

छल

जब कोड अपने आप को तह या प्रकट करता है ... अर्थात cubified, लेआउट इस तरह दिखता है:

      t ; .
      / e ;
      _ a ]
" k c i r t " > o ? @ ;
= v = . / r ; \ ; / . .
. . . . . . . . . . . .
      . . .
      . . .
      . . .

और मुख्य भाग मध्य में यह हिस्सा है:

" k c i r t " > o ? @ .
. . . . . . . \ ; / . .

यह k,c,i,r,tस्टैक और oआउटपुट पर ;जोर देता है और रिफ्लेक्टर द्वारा बंधे एक लूप के भीतर और पॉप होता है? जो स्टैक के शीर्ष पर मूल्य के आधार पर आपका मार्गदर्शन करता है ...

इलाज

अचानक, कोड एक क्यूब से हेक्सागोन में बदल जाता है। (कल्पना करो कि)

   t ; . /
  e ; _ a ] 
 " k c i r t 
" > o ? @ ; = 
 v = . / r ;
  \ ; / . .
   . . . .

और मुख्य हिस्सा यह हिस्सा है:

   t ; . /
  e ; _ a ] 
 . . . . . . 
. . . . @ ; = 
 . . . / r ;
  . . . . .
   . . . .

यह चलता है t;जो tदर्पण को प्रिंट करता है और हिट करता है और एसई कोने से शुरू होकर एनडब्ल्यू की दिशा बदल देता है और दूसरे दर्पण को हिट करता है। यह चलता है r;और लपेटता है e;_aऔर ]इसे इंस्ट्रक्शन पॉइंटर 1 पर लाता है जो कोने में शुरू होता है, जो एसई को इंगित करता है और हिट /करता है जो ;तब क्षैतिज रूप से प्रतिबिंबित होता है t

तो यह करने के लिए लपेटता =, ;और @गंदगी समाप्त होता है।

तो ... _वहाँ क्या कर रहा है?

अंदर क्यों हैt e a (कोड में पहले 3 अक्षर) के ?

यहाँ कहानी का अंत आता है -

यह कुछ नहीं करता है ।

क्या यह एक डरावनी कहानी के अंत की तरह लगता है?


अच्छा बहुत अच्छा! दो 2D भाषाओं में से बहुवचन बनाना मुश्किल है। मुझे डरावनी कहानी पसंद है जो इसके साथ जाती है;)
ETHproductions

निश्चित नहीं कि यह या ELF / .COM का उत्तर अधिक प्रभावशाली है। बहुत बढ़िया!
वैल

24

एसक्यूएल / जावास्क्रिप्ट, 54 बाइट्स

select('trick')
--a;function select(){alert("treat")}

मेरे QB / JS उत्तर के समान दृष्टिकोण : पहली पंक्ति में SQL कथन है, दूसरी पंक्ति में SQL के लिए एक 'टिप्पणी' और JS के लिए NOP है। फिर, हम SQL के selectकथन को एक वैध JS फ़ंक्शन के रूप में परिभाषित करते हैं।


3
यह इन दो भाषाओं के संयोजन का एक बहुत ही स्मार्ट तरीका है। एक +1 है!
ETHproductions

22

/ ब्रेनफ..क /, 143 + 3 = 146 बाइट्स

इस उत्तर के -Aलिए ब्रेन-फ्लैक के लिए ASCII में ध्वज को आउटपुट करने की आवश्यकता होती है और सौभाग्य से Brainfuck उस ध्वज के बारे में परवाह नहीं करता है, इसलिए यह Brainfuck में आउटपुट को प्रभावित नहीं करता है।

(((((()(()()()){})({}){}){}){})+++++++[<+++<(((()()()())((((({}){}){}){}){}()))[][][][]())>>-])<[<++++>-]<.--.---------.------.>++[<++++>-]<.>>

इसे ऑनलाइन आज़माएं!

इसे ऑनलाइन आज़माएं!

यह कैसे काम करता है

ब्रेन-फ्लैक और ब्रेनफक के सिंटैक्स के बीच एकमात्र ओवरलैप अक्षर हैं <>[]। ब्रेन-फ्लैक के लिए इसका मतलब ज्यादातर प्रोग्राम को ढेर सारे स्विच को सुनिश्चित करना होता है <>। और ब्रेनफक के लिए इसका मतलब है कि हमें मठ के उपयोग के कारण होने वाली अनंत लूप से बचने की आवश्यकता है []

ब्रेन-फ्लैक कोड इस प्रकार है:

(((((()(()()()){})({}){}){}){})[<<(((()()()())((((({}){}){}){}){}()))[][][][]())>>])<[<>]<>[<>]<>>

[<<...>>]बीच में बिट से अलग और <[<>]<>[<>]<>>अंत में यह कोड पाठ्यक्रम के लिए बहुत अच्छा है, जहां तक ​​ब्रेन-फ्लैक प्रोग्राम चलते हैं। शून्य के आसपास नकारात्मक ( [<...>]) ब्रेनफक के लिए एक लूप बनाने के लिए है। <...>इनकाउंटर से पहले ब्रेनफक को खाली सेल में स्थानांतरित करने के लिए आंतरिक का उपयोग किया जाता है[][][][] जिससे होता है जो अन्यथा असीम रूप से लूप करता है।

Brainfuck कोड निम्नानुसार है:

+++++++[<+++<[][][][]>>-]<[<++++>-]<.--.---------.------.>++[<++++>-]<.>>

उपरोक्त बिट्स के अलावा यह भी एक सुंदर मानक कार्यक्रम है, इसलिए मैं आपको विवरणों को छोड़ दूंगा।


मुझे यह पसंद है: D
Conor O'Brien

9
वहाँ एक हैं बहुत कि रेगुलर एक्सप्रेशन से मेल दो से अधिक भाषाओं /brainf..k/, तो आप हर किसी के रूप में ही हैडर प्रारूप का उपयोग करना चाहिए।
mbomb007

13
@ mbomb007 केवल दूसरी भाषा है जो मुझे पता है कि इस रेगेक्स का नाम ब्रेनफॉर्क है । आसानी से जब दिमाग में चलता है तो यह "TRICK" प्रिंट करता है इसलिए मैं इस समय के लिए रेग्क्स छोड़ दूंगा।
श्रीओटचिलिज्म ओजैटिक

For brain-flak this mostly means the program has to ensure an even number of stack switchesक्या अापको उस बारे में पूर्ण विशवास है? यह न बात के बाद से चाहिए <>brainfuck में एक एनओपी है
DJMcMayhem

@DJMcMayhem इसे उसी स्टैक पर समाप्त करना होगा जो हमने सब कुछ डाल दिया है अन्यथा यह कुछ भी प्रिंट नहीं करेगा।
श्रीओटीचिलिज्म ओजैटिक

21

> <> / मत्स्य पालन , 38 बाइट्स

_"kcirt"ooooo;
[+vCCCCCCCC
   `treat`N

एक ><>/ Fishingबहुभुज बनाने के लिए ।

Fishingलंबे समय तक साथ निभाने के बाद यह मेरा पहला कोड है ><>
मेरी पहली धारणा: जैसा कि प्रकृति में, मछुआरे के पास अपनी प्रार्थना से कम शारीरिक क्षमताएं हैं लेकिन वह अपने उपकरण के लिए इसे बनाता है!

यहां कोड बेहद सरल है: ><>केवल पहली पंक्ति को निष्पादित करेगा, जहां _एक ऊर्ध्वाधर दर्पण है और इसका कोई प्रभाव नहीं है क्योंकि मछली क्षैतिज रूप से तैरना शुरू करती है। यह सिर्फ trickस्टैक पर धक्का देता है फिर रोकने से पहले इसे प्रिंट करें।
के लिए Fishing, _नीचे जाने के निर्देश दिए। मछुआरा डेक का अनुसरण करेगा जो तीसरी पंक्ति के पात्रों को पकड़ते समय दूसरी पंक्ति है। ये धक्का देंगेtreat टेप पर और फिर इसे प्रिंट करेंगे, क्योंकि यह डेक के अंत तक पहुंचता है।

यदि इरेटिंग आउट की अनुमति है, तो आप निम्न कोड के साथ 35 बाइट्स तक जा सकते हैं, जो स्टैक के प्रिंट होते ><>ही रन करते समय एक एरर फेंक देगा trick:

_"kcirt">o<
[+vCCCCCCCC
   `treat`N

आपको मेरी थीम्ड भाषाओं के उत्तर, # शील / पीड़ा और बुराई / ज़ोम्बी की भी जाँच करनी चाहिए !


अजी, मैं एक मछली / मछली पकड़ने का बहुवचन बनाना चाहता था :) आपने मुझे इसके लिए हराया। अच्छा है!
एमिग्ना

+1 के लिए " प्रकृति की तरह, मछुआरे के पास अपनी प्रार्थना की तुलना में कम शारीरिक क्षमताएं हैं लेकिन वह अपने उपकरण के लिए इसे बनाता है! "
केविन क्रूज़सेन

20

05AB1E / वास्तव में , 10 बाइट्स

"trick"’®Â

व्याख्या

05AB1E

"trick"     # push the string "trick"
       ’®Â  # push the string "treat"
            # implicitly print top of stack (treat)

इसे ऑनलाइन आज़माएं

वास्तव में

"trick"     # push the string "trick"
       ’®Â  # not recognized commands (ignored)
            # implicit print (trick)

इसे ऑनलाइन आज़माएं


तुम्हें पता है, मैं स्पष्ट रूप से पढ़ सकता हूं trick, लेकिन ’®Âइलाज कैसे किया जाता है ? ..
केविन क्रूज़सेन

1
अब लोग इस फीचर को जान चुके हैं। अगली बार हम " hQq3k या bvM; p पॉलिग्लॉट " जैसे प्रश्न प्राप्त करेंगे ...
jimmy23013

3
@KevinCruijssen:'®evin का अनुवाद "शब्द को अनुक्रमणिका से शब्द 3757 के साथ करें" के रूप में किया गया है, जो "व्यवहार" है।
एमिग्ना

@Emigna Ok ... तो सभी ~ 1.1M अंग्रेजी शब्द 05AB1E में उपलब्ध हैं?
केविन क्रूज़सेन

1
@ केविनक्रूजसेन: नहीं, कुल 10k हैं (प्रत्येक वर्ण 2 वर्णों के रूप में)। आप पूरी सूची यहां पा सकते हैं ।
एमिग्ना

16

हास्केल / मानक एमएल , 56 बाइट्स

fun putStr x=print"treat";val main=();main=putStr"trick"

हास्केल दृश्य

अर्धविराम एक पंक्ति में कई घोषणाओं की अनुमति देते हैं और लाइनब्रेक की तरह कार्य करते हैं, इसलिए हम प्राप्त करते हैं

fun putStr x=print"treat"
val main=()
main=putStr"trick"

mainफ़ंक्शन को कॉल करके एक हास्केल प्रोग्राम निष्पादित किया जाता है, इसलिए अंतिम पंक्ति putStr"trick"में निष्पादित किया जाता है जो सिर्फ प्रिंट करता है trick
पैटर्न के बाद फ़ंक्शन की घोषणाओं के रूप में पहले दो पंक्तियों की व्याख्या की जाती है <functionName> <argumentName1> ... <argumentNameN> = <functionBody>। तो पहली पंक्ति में एक फ़ंक्शन का नाम funघोषित किया जाता है जो नाम putStrऔर xफ़ंक्शन बॉडी नाम के दो तर्क लेता है print"treat"। यह प्रकार के साथ एक मान्य हास्केल फ़ंक्शन है fun :: t -> t1 -> IO (), जिसका अर्थ है कि यह एक मनमाना प्रकार का तर्क लेता है tऔर कुछ प्रकार का दूसरा एक t1फिर एक IO- एक्शन देता है। फ़ंक्शन बॉडी में तर्कों tऔर प्रकारों का t1उपयोग नहीं किया जाता है। IO- एक्शन प्रकार से परिणाम मिलता है print"treat", जो "treat"StdOut को प्रिंट करता है ( इसके बजाय नोटिस करें)" , इसीलिएputStrprintमें प्रयोग किया जाता है main। हालाँकि जैसा कि यह केवल एक फ़ंक्शन घोषणा है, वास्तव में कुछ भी मुद्रित नहीं है जैसा funकि इसमें नहीं कहा गया है main
वही दूसरी पंक्ति में होता है val main=();, एक फ़ंक्शन । यह प्रकार है (मान और इकाई का प्रकार दोनों के साथ निरूपित किया जाता है )। valघोषित किया जाता है जो एक मनमाना तर्क लेता है जिसका नाम है mainऔर रिटर्न यूनिट , खाली टपल()val :: t -> ()()

Ideone पर इसे आज़माएं।


मानक एमएल दृश्य

मानक एमएल एक मुख्य रूप से कार्यात्मक भाषा है जो वाक्य रचना से संबंधित है, लेकिन हास्केल के समान नहीं है। विशेष रूप से, फ़ंक्शन घोषणाएँ कीवर्ड के साथ उपसर्ग करती हैं funयदि वे कोई तर्क लेते हैं, और valयदि वे नहीं करते हैं तो कीवर्ड । यह भी संभव है कि शीर्ष स्तर पर एक अभिव्यक्ति हो (मतलब किसी भी घोषणा के अंदर नहीं) जिसे कार्यक्रम चलाया जाता है। ( 1+2एक घोषणा के बाहर हास्केल लेखन में naked expression at top level-रोर फेंकता है )। अंत में समानता के परीक्षण के लिए प्रतीक हास्केल के =बजाय है ==। (कई और अंतर हैं, लेकिन वे ही इस कार्यक्रम के लिए मायने रखते हैं।)
इसलिए एसएमएल दो घोषणाओं को देखता है

fun putStr x=print"treat";
val main=();

एक अभिव्यक्ति के बाद

main=putStr"trick"

जिसका मूल्यांकन किया जाता है। यह निर्धारित करने के लिए कि क्या mainसमान है putStr"trick", दोनों पक्षों का मूल्यांकन किया जाना चाहिए और दोनों का एक ही प्रकार होना चाहिए, क्योंकि SML (साथ ही हास्केल) सांख्यिकीय रूप से टाइप किया गया है। आइए पहले हम दाईं ओर देखें:putStr SML में कोई लाइब्रेरी फ़ंक्शन नहीं है, लेकिन हमने putStrलाइन में एक फ़ंक्शन घोषित किया है fun putStr x=print"treat";- यह एक तर्क लेता है x(यह "trick"हमारे मामले में स्ट्रिंग है) और तुरंत इसे फिर से भूल जाता है, जैसा कि यह फ़ंक्शन बॉडी में नहीं होता है। फिर शरीर print"treat"को निष्पादित किया जाता है जो प्रिंट treat(संलग्नक के बिना ", एसएमएल printहैस्केल से अलग है print)।
printटाइप है string -> unit, तोputStr टाइपa -> unit और इसलिए हैputStr"trick" सिर्फ प्रकार हैunit। अच्छी तरह से टाइप करने के लिए, mainटाइप unitभी होना चाहिए । यूनिट के लिए मूल्य HML में SML के समान है (), इसलिए हम घोषणा करते हैं val main=();और सब कुछ अच्छी तरह से टाइप किया जाता है।

इसे कोडिंग ग्राउंड पर आज़माएं।
नोट: कंसोल में आउटपुट है

val putStr = fn : 'a -> unit                                   
val main = () : unit                                                    
treatval it = true : bool

क्योंकि SML \ NJ में प्रत्येक कथन का मूल्य और प्रकार प्रत्येक घोषणा के बाद प्रदर्शित किया जाता है। इसलिए पहले के प्रकार putStrऔरmain दिखाए जाते हैं, फिर भावों का मूल्यांकन किया जाता है जिसके कारण treatमुद्रित किया जाता है, फिर अभिव्यक्ति का मान ( trueजैसा कि दोनों पक्ष =हैं ()) अंतर्निहित परिणाम चर के लिए बाध्य है itजो तब प्रदर्शित भी होता है।


1
मैं हमेशा सोचा fun ... ... =था कि के लिए वाक्यविन्यास चीनी है val rec ... = fn ... =>। लेकिन तब से अब तक दशकों का समय है जब मैंने एमएल का इस्तेमाल किया।
नील

@ नील आप सही कह रहे हैं, funअनाम फ़ंक्शन के लिए बाध्य वाक्य रचना चीनी है val( recकेवल यदि फ़ंक्शन पुनरावर्ती है, तो इसकी आवश्यकता है) और इसलिए सूत्रीकरण "पूर्वनिर्धारित होना चाहिए" बुरी तरह से चुना गया है, मैं उत्तर को संपादित करूंगा। सामान्य रूप से उपयोग funकरना सबसे अच्छा है, विशेष रूप से कोड गोल्फ में क्योंकि यह बहुत छोटा है।
लकोनी

15

रूबी / सी, 64 62 51 48 बाइट्स

#define tap main()
tap{puts(0?"trick":"treat");}

रूबी क्या देखती है:

tap{puts(0?"trick":"treat");}

tapविधि एक ब्लॉक लेता है और एक बार यह निष्पादित करता है। यह एक छोटा पहचानकर्ता है कि हम #defineसी में एक मैक्रो बना सकते हैं । यह हमें साझा कोड में एक ब्रेसिज़-संलग्न ब्लॉक लगाने की भी अनुमति देता है, भले ही रूबी {}अधिकांश संदर्भों में एस की अनुमति नहीं देता है।

रूबी में केवल मिथ्या मूल्य हैं falseऔर nil। विशेष रूप से, 0 सत्य है। इस प्रकार, रूबी "चाल" छपेगी।

C क्या देखता है (प्री-प्रोसेसर के बाद):

main(){puts(0?"trick":"treat");}

0 C में मिथ्या है, इसलिए C "उपचार" करेगा।

2 बाइट्स ने डैनिएरो के लिए धन्यवाद बचाया।


1
अच्छा लगा। आप दो बाइट्स को बचाने के putsबजाय उपयोग कर सकते हैंprintf
डेनियरो

धन्यवाद! मैं तो हमेशा printfसी में उपयोग करने के लिए अभ्यस्त हूं, मैं भूल गया हूं कि इसका एक putsफ़ंक्शन भी है ।
m-chrzan

दो विचार: क्या आप कुछ कम उपयोग नहीं कर सकते हैं tap? और आपको रिक्त स्थान से छुटकारा क्यों नहीं मिला? p ? "trick":"treat"=>p?"trick":"treat"
ब्रेनस्टोन

tapवास्तव में दो उद्देश्यों में कार्य करता है। यह #defineकुंडी के लिए एक छोटा पहचानकर्ता है , लेकिन यह मुझे सीधे रूबी कोड में ब्रेसिज़ डालने की अनुमति देता है। {}जैसे वे सी और इसी तरह की भाषा में क्या रूबी में ब्लॉक काम नहीं है, लेकिन tap करता है एक ब्लॉक लेते हैं, और एक बार निष्पादित करता है।
m-chrzan

रूबी में विधि के नाम एक प्रश्न चिह्न के साथ समाप्त हो सकते हैं, इसलिए एक स्थान की आवश्यकता होती है p?<character>एक चरित्र शाब्दिक है, इसलिए अंतरिक्ष के बाद एक स्थान की आवश्यकता होती है ?
m-chrzan 19

15

QBasic / JavaScript, 51 44 बाइट्स

'';PRINT=a=>{alert("Treat")}
PRINT("Trick")

QBasic में, यह दूसरी पंक्ति को प्रिंट करता है और पहली पंक्ति को निष्पादित नहीं करता है क्योंकि यह माना जाता है कि यह एक टिप्पणी है (धन्यवाद ')। जेएस में, यह फ़ंक्शन PRINT को कॉल करता है, जिसे जेएस एनओपी के ठीक बाद पहली पंक्ति में परिभाषित किया गया है '';


1
बहुत चतुर दृष्टिकोण!
ब्रेनस्टोन

14

शेपस्क्रिप्ट / फू , 13 बाइट्स

'trick'"treat

इसे ऑनलाइन आज़माएं! चाल | इलाज

यह काम किस प्रकार करता है

आकृतिलेख वर्ण द्वारा पार्स किया गया वर्ण है। जब ईओएफ को एक बंद उद्धरण का सामना किए बिना मारा जाता है, तो स्टैक पर कभी भी कुछ भी धक्का नहीं दिया जाता है।'trick'उद्धरण के अंदर स्ट्रिंग को धक्का देता है, जो कि स्पष्ट रूप से STDOUT में मुद्रित होता है।

Foo के पास वर्णों को निर्दिष्ट कोई आदेश नहीं है 'trick', इसलिए उस भाग को चुपचाप अनदेखा कर दिया जाता है। हालाँकि, यह दोहरे उद्धरण चिह्नों के बीच किसी भी चीज को तुरंत STDOUT में प्रिंट करता है, भले ही समापन उद्धरण गायब हो।


14

रूबी / पर्ल, 21 बाइट्स

print"trick"%1||treat

पर्ल

गणना "trick" % 1करता है कि 0 % 1ऐसा ||किसको भेजा treatगया हैprint बजाय , क्योंकि पर्ल नंगे पासवर्ड स्वीकार करता है।

माणिक

स्ट्रिंग "trick"को तर्क के साथ स्वरूपित करता है 1, जिसके परिणामस्वरूप "trick"सत्य है, इसलिए ||संसाधित नहीं किया गया है।


14

MATL / CJam , 17 बाइट्स

'TRICK'%];"TREAT"

MATL में यह आउटपुट देता है TRICK । CJam में यह आउटपुट देता है TREAT

व्याख्या

Matl

'TRICK'         Push this string
%];"TREAT"      Comment: ignored
                Implicit display

CJam

'T              Push character 'T'
R               Push variable R, predefined to empty string
I               Push variable I, predefined to 18
C               Push variable C, predefined to 12
K               Push variable K, predefined to 20
'%              Push character '%'
]               Concatenate stack into an array
;               Discard
"TREAT"         Push this string
                Implicit display

आप 3 अक्षर याद कर रहे हैं! (ईएटी)
विनाशकारी नींबू

@DestructibleWatermelon धन्यवाद! संपादित
लुइस मेंडों

अब आप MATL स्पष्टीकरण में तीन याद कर रहे हैं!
विनाशकारी नींबू

@DestructibleWatermelon Aww। धन्यवाद फिर से :-D
लुइस मेंडो

12

जेली / पीएल , 12 बाइट्स

0000000: 74 72 65 61 74 0a 7f fe 00 ba 49 fb                 treat.....I.

यह जेली के कोड पेज का उपयोग करके प्रदर्शित कार्यक्रम है ।

treatµ
“¡ṾI»

इसे ऑनलाइन आज़माएं!

यह कोड पृष्ठ 437 का उपयोग करके प्रदर्शित कार्यक्रम है ।

treat
⌂■␀║I√

इसे ऑनलाइन आज़माएं!

दोनों कार्यक्रमों का स्थानीय रूप से एक ही 12 बाइट फ़ाइल के साथ परीक्षण किया गया है, इसलिए यह एक उचित पॉलीग्लॉट है।

यह काम किस प्रकार करता है

जेली में, हर पंक्ति एक लिंक (फ़ंक्शन) को परिभाषित करती है ; अंतिम पंक्ति मुख्य लिंक को परिभाषित करती है , जिसे प्रोग्राम चलाने पर स्वचालित रूप से निष्पादित किया जाता है। जब तक आखिरी 7fबाइट से पहले कोड (जेली के कोड पेज में लाइनफीड) में एक पार्सर त्रुटि होती है (जो तुरंत निष्पादन को समाप्त कर देगा), उन्हें बस अनदेखा कर दिया जाता है। अंतिम पंक्ति, “¡ṾI»शब्द ट्रिक लाने के लिए जेली के शब्दकोश में अनुक्रमित होती है, जिसे कार्यक्रम के अंत में स्पष्ट रूप से मुद्रित किया जाता है।

मुझे pl के बारे में ज्यादा जानकारी नहीं है, लेकिन ऐसा लगता है कि दुभाषिया केवल कोड की एक पंक्ति प्राप्त करता है और उसके बाद आने वाली हर चीज को अनदेखा कर देता है। जैसे पर्ल में नंगे पासवर्डों को तार के रूप में माना जाता है, treatठीक उसी तरह प्रिंट करता है।


12

उद्देश्य-सी / सी, 50 बाइट्स

puts(){printf("trick");}main(){printf("treat\n");}

ऑब्जेक्टिव-सी में कैंडी और प्रिंट का इलाज हुआ , लेकिन सी ने नहीं किया और ट्रिक प्रिंट करता है

यह काम किस प्रकार करता है

मैं उद्देश्य-सी के बारे में बहुत कुछ नहीं जानता , लेकिन यह वही करता है जो हम इस स्थिति में उचित रूप से उम्मीद करते हैं। putsजब से हम फ़ंक्शन को कॉल नहीं करते हैं, तब से आउटपुट की पुन: परिभाषा प्रभावित नहीं होती है, और ट्रीट और mainप्रिंट को STDOUT में प्रिंट करता है ।

आप सी से ऐसा ही करने की उम्मीद कर सकते हैं , लेकिन कम से कम gcc 4.8, gcc 5.3, और clang 3.7 नहीं।

चूंकि हमें असली प्रिंटफ (जो एक प्रारूप स्ट्रिंग और अतिरिक्त तर्क लेता है) की जरूरत नहीं है और स्ट्रिंग को एक लाइनफीड के साथ मुद्रित किया जाता है, हम इसके बजाय पुट का उपयोग कर सकते हैं । कहते हैं की तुलना में थोड़ा तेज है printf , इसलिए जब तक हम समारोह को फिर से परिभाषित (जो प्रिंट करने से पहले अपने तर्कों का विश्लेषण करना पड़ता है) printf के साथ-साथ, संकलक का अनुकूलन और कॉल करने के लिए बदल देता है printf के लिए एक कॉल के साथ कहते हैं । कम संकलक को पता है कि putsतर्क के साथ कॉल करने के बजाय ट्रिक"treat" प्रिंट होगा !

शामिल नहीं stdio.h यहाँ महत्वपूर्ण है, के बाद से परिभाषित करने डालता है एक ही प्रकार यह हेडर फाइल में है का उपयोग कर की आवश्यकता होगी ( puts(const char*))।

अंत में, यह उल्लेखनीय है कि पुट में प्रिंटफ के लिए कॉल एक स्ट्रिंग के बिना गुजरता है । अन्यथा, कंपाइलर उस कॉल को "ऑप्टिमाइज़" भी करेगा, जिसके परिणामस्वरूप विभाजन दोष होगा।


10

बैच / श, 30 बाइट्स

:;echo Treat;exit
@echo Trick

स्पष्टीकरण। बैच पहली पंक्ति को एक लेबल के रूप में देखता है, जिसे वह अनदेखा करता है, और दूसरी पंक्ति को निष्पादित करता है, जो चाल को प्रिंट करता है। @ बैच को रोकने के लिए बैच के डिफ़ॉल्ट गूंज को दबाता है। (लेबल कभी भी गूँजते नहीं हैं।) इस बीच sh निम्नलिखित देखता है:

:
echo Treat
exit
@echo Trick

पहली पंक्ति कुछ भी नहीं करती है (यह एक उपनाम है true), दूसरी पंक्ति उपचार करती है, और तीसरी पंक्ति स्क्रिप्ट से बाहर निकलती है, इसलिए @echo ट्रिक कभी नहीं पहुंचती है।


10

sed / Hexagony 32 बाइट्स

/$/ctrick
#$@$a</;r;e;/t;....\t;

एसईडी

इसे ऑनलाइन आज़माएं!

trickइनपुट के अंत में एक खाली स्ट्रिंग होने पर पहली पंक्ति प्रिंट होती है। (अगर इनपुट नहीं है तो sed कुछ भी नहीं करता है, लेकिन इस मामले में स्टड पर एक रिक्त लाइन की अनुमति है)

उदाहरण रन:

$ echo | sed -f TrickOrTreat.sed
trick

Hexagony

इसे ऑनलाइन आज़माएं!

पहले /निर्देश सूचक को ऊपर और बाईं ओर पुनर्निर्देशित करता है, इसलिए यह तल के लिए उपयोग किए गए पाठ को छोड़ते हुए नीचे के बाईं ओर लपेटता है। यह sed कोड से r का पुन: उपयोग करता है और कुछ अन्य को बिना किसी प्रभाव के चलाता है। विस्तारित हेक्स इस तरह दिखता है:

   / $ / c 
  t r i c k
 # $ @ $ a <
/ ; r ; e ; /
 t ; . . . . 
  \ t ; . .
   . . . .

आउटपुट:

treat

मैंने हेक्सागोनी पोस्ट देखी हैं जिनमें निष्पादन पथ के चित्र हैं, क्या उन को उत्पन्न करना आसान है?
रिले

यहाँ यह github.com/Timwi/HexagonyColorer
0 '

1
आपका हेक्सागोनी कोड एक प्रमुख नल बाइट प्रिंट करता है। इस चुनौती के प्रयोजनों के लिए व्हॉट्सएप के रूप में गिना जाता है, तो यकीन नहीं।
मार्टिन एंडर

@MartinEnder लगता है जैसे इसकी अनुमति है। यह इंगित करने के लिए धन्यवाद, मैं हमेशा किसी न किसी कारण से चूक जाता हूं ...
रिले

मैं इसे ठीक करने में कामयाब रहा, जबकि कुछ बाइट्स को बचाते हुए (ऊपरी मामले को प्रिंट करने की कीमत पर A, हालांकि आप ऊपरी अक्षरों के सभी अक्षरों को बदलकर उसे कम बदसूरत बना सकते हैं): hexagony.tryitonline.net/…
मार्टिन

10

C # / जावा

यह संभवत: योग्य नहीं है क्योंकि यह अपने आप नहीं चलता है, लेकिन चुनौती ने मुझे एक क्विक की याद दिला दी है कि कैसे सी # और जावा में स्ट्रिंग की तुलना अलग ढंग से होती है कि आप कोड ऑबफ्यूजन के लिए कुछ मजेदार हो सकते हैं।

निम्न फ़ंक्शन C # और Java में मान्य है, लेकिन एक अलग मान लौटाएगा ...

public static String TrickOrTreat(){
    String m = "Oct";
    String d = "31";
    return m + d == "Oct31" ? "Trick" : "Treat";
}

दिलचस्प quirk वास्तव में।
ब्रेनस्टोन

10

ब्रेन-फ्लैक / ब्रेन-फ्ल्यू, 265 253 219 165 139 115 113 101 बाइट्स

के लिए +1 शामिल है -A

आगे और पीछे जाने के लिए गेहूं के जादूगर का धन्यवाद, मेरे साथ एक दूसरे के कोड को कुछ बाइट्स को गोल करना।

((((()()()))([]((({}{}))({}([((({}()())))]([](({}{}){}){}{})))[]))[])[()()])({}()()){}({})({}[][]){}

ब्रेन-फ्लैक: इसे ऑनलाइन आज़माएं!
ब्रेन-फ्ल्यू: इसे ऑनलाइन आज़माएं!

स्पष्टीकरण:
पहला खंड उन मूल्यों को सूचीबद्ध करता है जो ब्रेन-फ्लैक देखता है।
जब यह ब्रेन-फ्ल्यू पर स्विच करता है, तो मैं मूल्यों को सूचीबद्ध करना शुरू करता हूं क्योंकि ब्रेन-फ्ल्यू उन्हें देखता है।

# Brain-Flak
(
 (((()()()))             # Push 3 twice
  ([]                    # Use the height to evaluate to 2
   (
    (({}{}))             # Use both 3s to push 6 twice
    ({}                  # Use one of those 6s to evaluate to 6
     ([((({}()())))]     # Use the other 6 to push 8 three times and evaluate to -8
      ([](({}{}){}){}{}) # Use all three 8s to push 75
     )                   # The -8 makes this push 67
    )                    # The 6 makes this push 73
   [])                   # Use the height and the 6 to push 82
  )                      # Use the 2 to push 84

# Brain-flueue
 [])     # Use the height and 3 to push 84
[()()])  # Push 82
({}()()) # 67 is at the front of the queue, so use that to push 69
{}       # Pop one from the queue
({})     # 65 is next on the queue so move to the end
({}[][]) # 74 is next, so use that and the height to push 84
{}       # Pop that last value from TRICK


9

पॉवरशेल / फू, 14 बाइट्स

'trick'#"treat

'trick'PowerShell में एक स्ट्रिंग बनाता है और पाइपलाइन पर यह छोड़ देता है। #एक टिप्पणी शुरू होता है, तो कार्यक्रम पूरा करता है और अंतर्निहित Write-Outputप्रिंट trick

फू में, (यह ऑनलाइन प्रयास करें!) , 'trick'को नजरअंदाज कर दिया जाता है, #कार्यक्रम को 0सेकंड के लिए सोने का कारण बनता है (क्योंकि सरणी के सूचक पर कुछ भी नहीं है), फिर "treatएक स्ट्रिंग शुरू होती है। चूंकि ईओएफ पहुंच गया है, इसलिए "स्ट्रिंग को बंद करने का एक निहितार्थ है, और यह स्टडआउट के लिए मुद्रित है।


J / Foo में भी काम करता है।
कॉनर ओ'ब्रायन

@ ConorO'Brien स्पष्टीकरण एक ही है? मैंने कभी J का उपयोग नहीं किया है और मैं इससे परिचित नहीं हूं।
AdmBorkBork

नहीं, यह जे में काम नहीं करता #है कॉपी फ़ंक्शन है, और यह केवल गैर-नकारात्मक जटिल बाएं तर्क लेता है, तार नहीं। टिप्पणी प्रतीक हैNB.
Adám

@ आप सही हैं। भूल गए#
कॉनर ओ'ब्रायन

9

PHP / पर्ल, 28 बाइट्स

print defined&x?trick:treat;

defined&x
PHP में कुछ सच देता है (पता नहीं क्यों, लेकिन यह करता है)।
पर्ल में यह जाँचता है कि क्या फ़ंक्शन xपरिभाषित है - जो नहीं है।
-> trickPHP में, treatपर्ल में।


@jmathews क्या आपने अपने विंडोज़ संस्करण में बैकस्पेस कंट्रोल कैरेक्टर डालने की कोशिश की है ? किस बारे में CLS?
टाइटस

`परिभाषित और x या d & x का
सत्य मान है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.