간질 또는 치료 폴리 글 로트


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
이 메타 답변 은 정당한 이유가 있다면 거의 중복되는 것을 용인 할 수 있다고 말합니다. 나는이 질문이 할로윈에 가까워지는 인기가 그 자체로 좋은 이유라고 생각합니다. 나는 할로윈 후에 그것을 닫는 것을 신경 쓰지 않을 것입니다 (그러나 이것이 좋은 일인지 모르겠습니다).
Aaron

2
@ mbomb007. 이것은 무엇 의 복제 입니까 ?
TRiG

3
분명히 중복되지 않습니다. 다른 하나와 동일한 점은 지정된 출력을 가진 폴리 글 로트 챌린지라는 것입니다.
Brian Minton

3
... 3 페이지 ... 나는 이것이 계절 변형의 현재 가치를 기반으로 많은 활동을하고 있다고 생각합니다.
wizzwizz4

2
정말 좋은 질문입니다! 나는 간단한 코드 조각이 다른 언어로 다른 의미를 갖는 방법, 예를 들어 삼진 연산자의 진실성 / 거짓 성 및 연관성에 대해 어떻게 답을 밝히고 이용 하는지를 좋아합니다.
Don Hatch

답변:


145

2sable / pl , 8 바이트

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

두 프로그램 모두 동일한 8 바이트 파일로 로컬에서 테스트되었으므로 적절한 폴리 글롯입니다.

2 세블 : 트릭

코드 페이지 1252 의 프로그램입니다 .

treat“ÐË

온라인으로 사용해보십시오!

pl : 치료

이것은 코드 페이지 437 의 프로그램입니다 .

treatô╨╦

온라인으로 사용해보십시오!

작동 원리

2 세블 : 트릭

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
그러나 나는이 대답이 우스운 일이라는 것을 인정해야합니다! 무엇 향후 계획? 그들 자신의 말보다 짧은 대답?
BrainStone

45
이 답변은 매우 인상적입니다. 두 단어의 길이보다 짧은 프로그램을 작성했다는 것은 놀라운 일입니다.
DJMcMayhem

1
응? 이것들은 2 개의 프로그램입니다
FireCubez

1
@FireCubez 바이트 당 바이트와 동일한 코드입니다. 시각적 표현은 코드 페이지에 따라 다릅니다.
Dennis

200

Python / Windows 배치, 25 바이트

print"trick"#||echo.treat

# 다음의 모든 것은 파이썬에서 주석으로 해석되는 반면, || 배치의 OR이며 이전 명령이 실패 했으므로이 명령을 실행하십시오.

나는 또한 "트릭이나 치료"를 읽는 OR의 사용을 좋아합니다 :)


33
TBH 나는 OR에 대한 의견을 위해 이것을 올렸다.
Jmons

7
TBH 나는 여기에 첫 번째 게시물이 65 upvotes를 얻을 것으로 예상하지 못했습니다 :)
nephi12

11
TBH는 공감에 대해서만 이야기 할 수 없습니다. 그것은 Quora가 아니다
S Andrew

3
@SAn은이 커뮤니티의 새로운 회원으로 뽑혔습니다. 저는이 소식을 곧받을 것으로 기대하지 않았고 기꺼이 기여할 수있었습니다. 나는 자랑하지 않으려 고, 오해하지 마십시오. 나는 너무나 새롭기 때문에 너무나 잘 받아 들여 져서 정말 기쁩니다. 의견 주셔서 감사합니다 :)
nephi12

2
@YotamSalmon 커뮤니티 합의에 따르면 STDERR은 기본적으로 무시됩니다. STDOUT 만 고려됩니다. 로 명령을 다시 시도하십시오 2>nul.
Conor O'Brien

153

공백 / 별, 135 바이트

할로윈에 맑은 밤하늘이 있습니다!

  + + + + + 
    +

* + + * + *

   + *           
     + +        

 + * +   



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

위의 코드에서 복사하면 빈 줄의 공백이 유지되지 않을 수 있습니다.

공백은 "TRICK"을 출력합니다. 온라인으로 사용해보십시오!
별이 "TREAT"를 출력합니다. 온라인으로 사용해보십시오!

설명

별이 빛나는

Starry는 모든 탭과 줄 바꿈을 무시하므로 읽은 코드는 다음과 같습니다.

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

바이트 단위로 값을 푸시하는 것은 Starry의 스택 및 산술 연산에 비해 매우 비쌉니다. 코드는 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
이것은 최고의 답변이며 창의적입니다. 독창성에 충격을 받았습니다. 그리고 기술. 브라보!
nephi12

137

Linux 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

이것은 ELF 헤더가 x86 코드로 해석되는 7F 45로 시작한다는 사실을 사용합니다.

DOS .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
브라보 선생님 브라보.
Draconis

9
내 마음은 뛰지 않았다.
John Keates

muppetlabs.com/~breadbox/software/tiny/teensy.html 은 여기에서 헤더 오버랩 트릭에 관심이있는 모든 사람에게 잘 읽 힙니다.
Sparr

4
이것은 내가이 사이트에서 본 최고의 답변 중 하나입니다. Codegolf는 종종 영리한 답변이 아니라 골프 용으로 만들어진 난해한 언어로 바뀝니다. 이것은 아름답다.
Knetic

이것은 좋은 물건입니다.
Gooseman

103

이블 / 좀비 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 감사합니다, 나는이 기회를 잘 알려지지 않은 난해한 언어에 들어갈 수있었습니다 :)
Aaron

글쎄, 당신이 사용했던 네 가지 중에서 나는 몇 번 전에 고통을 보았고, 나는 한 번 ZOMBIE를 본 것을 모호하게 기억합니다. 그러나 HashHell이나 악에 대해 들어 본 적이 없습니다. :)
Kevin Cruijssen

이것의 할로윈 테마는 인상적입니다! 나는이 두 언어에 대해 들어 본 적이 없습니다
ejfrancis

95

파이썬 / 펄, 28 바이트

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

설명

[]Perl의 ArrayRef 이기 때문에 사실이지만 파이썬에서는 빈 배열이므로 거짓입니다.


7
마찬가지로 print({}and"trick"or"treat")Python / Lua에서도.
user200783

1
@ user200783 그것은 HashRef이기 때문에 Perl에서도 같은 효과를 {}갖습니다!
Dom Hastings

2
Python / Ruby에서도 거의 동일하지만 추가 공백이 필요합니다.print ([]and"trick"or"treat")
Value Ink

2
그것을 사랑하십시오! 이것은 암시 적으로 bool 로의 변환이 가독성에 미치는 영향에 대한 훌륭한 논평입니다.
Don Hatch

Lua, Perl 및 Python의 폴리 글 롯일 수 있습니다 print({}and"trick"or"treat")!
ckjbgames

48

PHP / JavaScript, 32 30 바이트

trickPHP와 treatJS로 표시 됩니다 .

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

알려지지 않은 NaN상수는 PHP에 의해 암시 적으로 문자열로 변환되어 진실합니다. JS에서는 거짓입니다.

대체 방법, 38 바이트

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

삼항 연산자는 JS에서 오른쪽 연관입니다.

                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
당신이 맞아요, 내 나쁜
Gareth Parker

alert ()은 콘솔의 JavaScript가 아니라 HTML의 JavaScript입니다.
peter ferrie

1
다른 방법 : '\ 0'== "\ 0"? die (trick) : alert ( 'treat');`.
Ismael Miguel

3
PHP에서 체인 삼항 연산자를 디버깅하는 것은 너무 재미 있어야합니다.
Robert Fraser

3
@Robert PHP에서 무엇이든 디버깅하는 것은 매우 재미있다.
sampathsris

39

HTML / HTML + 자바 스크립트, 53 바이트

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

treatHTML의 문서 텍스트 내용입니다.
JS가 활성화되면 HTML 내용이로 바뀝니다 trick.


3
재미있는 해결책. 나는 그것을 좋아한다
BrainStone

1
document.write()대신 사용해야 합니다. -8 바이트
darrylyeo

@darrylyeo document.write는 HTML 출력을 대체하지 않고 추가합니다.
Titus

1
Chrome에서 테스트되었습니다. 완전히 작동합니다. 자바 스크립트를 켜거나 끄면 내용이 새로 고쳐집니다.
Tatarize

@Tatarize : Firefox 49, Opera 41, Safari 5.0, Chrome 54, Windows의 경우 Edge 38, iOS의 경우 Firefox 5.3 및 Safari 5.0, Android의 경우 Firefox 49 및 Dolphin 11.5에서 테스트되었습니다. Windows의 Firefox 만 대체합니다. 다른 모든 사람들이 추가합니다.
Titus

33

C / 자바 7 165 155 128 123 122 120 103 바이트

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

// \는 다음 줄도 C로 주석을 작성하지만 Java에서는 일반적인 한 줄 주석이므로 C를 Java 용 코드를 무시하도록 할 수 있으며 두 번째 줄에 / *를 추가하면 Java에 대한 주석을 작성할 수 있습니다 C로 코드로 파싱

편집 : 줄과 주석을 재구성하여 조금 개선했습니다.

Edit2 : 좀 더 재구성하고 더 단축했습니다.

Edit3 : BrainStone에서 제안한 수정 사항을 추가하여 5 바이트를 제거했습니다. 감사합니다 :)

Edit4 : 하나의 줄 바꿈이 불필요한 것으로 판명되었으므로 제거했습니다.

편집 5 : printf를 puts로 변경했습니다.

Edit6 : Ray Hamel이 제안한 수정 사항을 추가했습니다.


1
당신이 할 수있는 1 바이트 ++ C에 C를 변경하고 교체하여 안전 #include<stdio.h>#include<cstdio>. 많이는 아니지만 바이트는 바이트입니다. 추가로 int infront를 제거 main하면 4 바이트가 안전합니다. intC와 C ++에 의해 암시 됨
BrainStone

감사합니다. 제안에 따라 코드를 수정했습니다. :)
I_LIKE_BREAD7

1
좋은! 나는 Java를 위해 무언가를 생각해내는 데 어려움을 겪었고 Java 7 + Whitespace로 끝났습니다 . Btw에서 공간을 제거하여 1 바이트 더 골프를 칠 수 있습니다 String[]s.
Kevin Cruijssen

29

Jolf + Chaîne, 12 바이트

Chaîne은 인코딩으로 업로드 할 파일을 승인 할 수 없으므로 UTF-8을 가정합니다. (ISO-8859-7을 가정 할 수 있다면 11 바이트이지만 불공평합니다.)

trick«treat

Chaîne에서 설명을 «시작하고 나머지는 그대로 인쇄됩니다. Jolf에서 «문자열을 시작합니다. 고맙게도 trick( 10; range(input, parseInt(input))기본적으로) 해로운 것은 없으며 treat인쇄됩니다.

Jolf를 사용해보십시오!

Chaîne을 사용해보십시오!

둘 다 내 브라우저 (firefox, 최신 버전)에서 작동하지만 다른 브라우저에서도 마찬가지입니다.


2
나는 많은 모호한 언어의 인벤토리가 장점이 있다고 생각합니다.
Conor O'Brien

1
우리가 단어 자체만으로 솔로 디움에 가까워지고 있음을 알게되어 기쁩니다. 누구나 재사용 할 수 있는지 궁금합니다 tr.
BrainStone

1
@BrainStone 개인적 tr으로 어떤 골프에서나 재사용 할 수 있을지 의심 스럽 습니다. 최소한 정보 는 골프 언어로 인코딩 한 다음 언어 별 조건부로 인코딩 해야하는 작은 정보입니다 . 아마 같은 길이 또는 더 길어질 것입니다. 그러나 그것은 나의 추측 일 뿐이다.)
Conor O'Brien

알아 보자. 그러나 나는 동의해야한다. 10 이하의 바이트 수는 미쳤다!
BrainStone

@BrainStone, 8 바이트 : codegolf.stackexchange.com/a/97580/5011
SeanC

27

#hell / Agony , 43 바이트

그래서 많은 ><>사방이, 만우절의 과제는 무엇인가? 다음은 적절한 주제의 언어에 대한 답변입니다.

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

#hellLUA다행히도 io.write출력 호출을 수락 하는 하위 집합입니다 . 우리는 사용 LUA--그것은 단지이 조각 실행되도록 의견을.

AgonyBrainfuck코드와 작업 메모리가 동일한 테이프에 있어야 하는 파생 상품입니다. 첫 번째 줄은 코드 세그먼트 끝에서 5 문자 (10 셀) 만 인쇄하며 여기서 명령으로 인코딩 treat했습니다 Agony. LUA의 주석 열기 --는 사용되지 않은 셀의 값을 수정합니다.


나는 당신의 할로윈 테마 것들이 가장 좋은 imho라고 말해야합니다. 아주 창의적인!
BrainStone

@BrainStone 감사합니다, 나는 그들을 만드는 재미가 있었다!
Aaron

27

Cubix / Hexagony , 31 바이트

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

그것을 속여! 온라인으로 취급하십시오!

할로윈 테마 ? 이 언어와 코드에 대한 끔찍한 사실을 주목하십시오.

  1. 아무 일도하지 않으면 (아무런 행동을 취하지 않아도) 영원히 달리기로 결정된 루프에서 벗어날 수 없습니다 ...
  2. 그리고 3D와 2D 프로그래밍 언어의 중간에 갇혀있다 (오 고통).
  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하고 때리고 SE 코너에서 시작하여 방향을 NW로 돌리고 다른 거울을 때립니다. 이것은 실행 r;및 래핑 e;_a과는 ]SE와 히트 가리키는 코너 NE에서 시작 명령 포인터 1로 제공 /수평으로 반영하고 ;다음을 t.

그런 다음에 랩 =, ;그리고 @혼란을 종료합니다.

그래서 ... _거기서 뭐 해요?

그것은 내부 t e a(코드의 처음 3 글자)?

이야기의 끝이 온다-

아무것도 하지 않습니다 .

공포 이야기의 끝처럼 들립니까?


좋아 아주 좋아! 두 개의 2D 언어에서 폴리 글 로트를 만드는 것은 어렵습니다. 나는 그것과 함께하는 공포 이야기를 좋아한다;)
ETHproductions

이 답변 또는 ELF / .COM 답변이 더 인상적인지 확실하지 않습니다. 잘 했어!

24

SQL / 자바 스크립트, 54 바이트

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

QB / JS 답변 과 동일한 접근 방식 : 첫 번째 줄에는 SQL 문이 있고 두 번째 줄에는 SQL에 대한 주석과 JS에 대한 NOP가 있습니다. 그런 다음 SQL의 select명령문을 유효한 JS 함수로 정의 합니다.


3
이것이이 두 언어를 결합하는 매우 현명한 방법입니다. +1하세요!
ETHproductions

22

/Brainf..k/, 143 + 3 = 146 바이트

이 대답은 -ABrain-Flak에 대해 ASCII로 플래그를 출력 해야 하며 다행히도 Brainfuck은 해당 플래그를 신경 쓰지 않으므로 Brainfuck의 출력에 영향을 미치지 않습니다.

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

온라인으로 사용해보십시오!

온라인으로 사용해보십시오!

작동 원리

Brain-Flak과 Brainfuck의 구문은 문자 <>[]입니다. brain-flak의 경우 이는 대부분 프로그램이 짝수의 스택 스위치를 보장해야 함을 의미합니다 <>. 그리고 Brainfuck의 경우 []모나드 사용으로 인한 무한 루프를 피해야 함을 의미합니다 .

Brain-Flak 코드는 다음과 같습니다.

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

이외에도에서 [<<...>>]중간에 비트와 <[<>]<>[<>]<>>멀리 뇌 - 플랙 프로그램과 코스 마지막에이 코드가 꽤 파 이동합니다. 0 주위의 음수 [<...>]는 Brainfuck에 대한 루프를 만드는 것입니다. 내부 <...>는 Brainfuck을 빈 셀로 옮기는 데 사용됩니다. 빈 셀 [][][][]은 무한히 반복됩니다.

Brainfuck 코드는 다음과 같습니다.

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

위에서 언급 한 비트 외에도이 프로그램은 꽤 표준적인 프로그램이므로 세부 정보를 아끼지 않을 것입니다.


D : 나는이 같은
코너 오브라이언

9
거기에 있습니다 LOT에게 정규식과 일치하는 두 개 이상의 언어 /brainf..k/, 그래서 당신은 다른 사람과 같은 헤더 형식을 사용해야합니다.
mbomb007

13
@ mbomb007이 정규식에 맞는 유일한 다른 언어는 brainfork 입니다. 브레인 포크에서 실행할 때 편리하게 "TRICK"이 표시되므로 당분간 정규 표현식을 남겨 두겠습니다.
Sriotchilism O'Zaic

For brain-flak this mostly means the program has to ensure an even number of stack switches확실합니까? <>brainfuck에 NOP가 있기 때문에 문제가되지 않습니다
DJMcMayhem

@DJMcMayhem 그것은 우리가 모든 것을 넣은 것과 같은 스택에서 끝나야합니다. 그렇지 않으면 아무것도 인쇄하지 않습니다.
Sriotchilism O'Zaic

21

> <> / 낚시 , 38 바이트

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

><>/ Fishing폴리 글 로트 를 만들기 위해 .

Fishing와 함께 오랫동안 연주 한 후의 첫 번째 코드입니다 ><>.
나의 첫인상 : 자연과 마찬가지로, 어부는기도하는 것보다 신체적 인 능력이 적지 만 도구로 그것을 보충합니다!

여기서 코드는 매우 간단합니다. ><>첫 번째 줄만 실행합니다. 여기서 _수직 거울은 물고기가 수평으로 수영을 시작하기 때문에 아무런 영향을 미치지 않습니다. trick스택을 밀고 멈추기 전에 인쇄합니다.
대한 Fishing_지시합니다 아래로 이동합니다. 어부는 세 번째 줄의 캐릭터를 잡으면 서 두 번째 줄인 갑판을 따라갑니다. 이것들은 treat테이프를 밀고 인쇄하여 데크 끝에 도달하면 멈 춥니 다.

오류가 허용되면 다음 코드를 사용하여 35 바이트로 내려갈 수 있습니다.이 코드 는 스택에서 인쇄 되면 실행 ><>되면 오류가 발생합니다 trick.

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

당신은 또한 내 테마 언어 답변, #hell / Agony and evil / ZOMBIE를 확인해야합니다 !


Aw, 나는 물고기 / 낚시 polyglot을 만들고 싶었다 :) 당신은 나를 이겼다. 좋은 것!
Emigna

1 "에 대한 자연으로, 어부는기도보다 신체적 능력을 가지고 있지만 그 도구로 보상 해! "
케빈 Cruijssen

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있지만, 어떻게 ’®Â? .. 치료
케빈 Cruijssen

1
이제 사람들은이 기능을 알고 있습니다. 다음에 우리는 " hQq3k 또는 bvM; p polyglot " 과 같은 질문을받을 것입니다 ...
jimmy23013

3
@KevinCruijssen : '®는 "사전에서 색인 3757로 단어를 가져옵니다"로 번역됩니다.
Emigna

@Emigna Ok ... 05AB1E에서 모든 ~ 1.1M 영어 단어에 액세스 할 수 있습니까?
Kevin Cruijssen

1
@KevinCruijssen : 아니요, 총 10k가 있습니다 (각각 2 자로 표시 가능). 전체 목록은 여기에서 찾을 수 있습니다 .
Emigna

16

하스켈 / 표준 ML , 56 바이트

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

하스켈 뷰

세미콜론은 한 줄에 여러 개의 선언을 허용하고 줄 바꿈처럼 작동하므로

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

Haskell 프로그램은 main함수 를 호출하여 실행 되므로 마지막 행 putStr"trick"에서 실행되어 바로 인쇄 trick됩니다.
처음 두 행은 패턴 다음에 함수 선언으로 해석됩니다 <functionName> <argumentName1> ... <argumentNameN> = <functionBody>. 그래서 첫 번째 행이라는 함수는 fun두 개의 명명 된 인수 걸립니다 선언 putStr하고 x및 함수 본문을 print"treat". 이것은 type의 유효한 Haskell 함수입니다 fun :: t -> t1 -> IO (). 즉, 임의 유형의 인수를 취하고 t일부 유형 t1의 두 번째 인수를 사용 하면 IO 동작을 반환합니다. 함수 본문에서 인수가 사용되지 않으므로 유형 tt1중요하지 않습니다. IO-조치 유형의 결과 print"treat"출력, "treat"표준 출력합니다 (통지 ", 그 이유putStr대신) print에 사용됩니다 main. 그러나 함수 선언 일 뿐이므로 실제로 fun호출되지 않은 아무것도 인쇄 되지 않습니다 main.
두 번째 줄에서도 마찬가지입니다 val main=();. 함수 val는 선언 된 임의의 인수를 취해 빈 튜플 unit을main 반환합니다 . 유형은 (값과 단위 유형 모두로 표시됨 )입니다. ()val :: t -> ()()

Ideone에서 사용해보십시오.


표준 ML보기

표준 ML 은 Haskell과 관련이 있지만 구문이 동일하지 않은 기본 기능 언어입니다. 특히 함수 선언에는 fun인수를 사용하는 키워드와 접두사가없는 키워드가 접두어로 붙습니다 val. 또한 프로그램이 실행될 때 실행되는 최상위 레벨 (선언 내부가 아님)에 표현식을 가질 수 있습니다. (하스켈 1+2에서 선언 외부에서 쓰는 경우- naked expression at top level오류가 발생합니다). 마지막으로 테스트 평등에 대한 기호는 =대신 ==하스켈한다. (더 많은 차이점이 있지만이 프로그램에만 중요한 차이점이 있습니다.)
따라서 SML은 두 가지 선언을 봅니다 .

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

뒤에 표현식

main=putStr"trick"

그런 다음 평가됩니다. mainequals 인지 여부를 확인하려면 putStr"trick"SML (하스켈과 마찬가지로)이 정적으로 형식화되므로 양쪽이 모두 평가되어야하고 두 형식이 모두 같아야합니다. 먼저 오른쪽을 살펴 보겠습니다. putStrSML의 라이브러리 함수는 아니지만 putStr행에 이름이 지정된 함수를 선언 fun putStr x=print"treat";했습니다. 인수 x(이 경우에는 문자열 "trick"임)를 취하고 즉시 다시 잊습니다. 함수 본문에서 발생하지 않습니다. 그런 다음 본문 print"treat"을 실행하여 인쇄합니다 treat(을 묶지 않고 "SML print은 Haskell과 다릅니다 print).
print유형이있다 string -> unit, 그래서 putStr유형을 가지고 a -> unit있으므로 putStr"trick"바로 입력했다unit. 제대로 입력 main하려면 유형 unit도 있어야합니다 . 단위 값 은 SML에 Haskell과 동일 ()하므로 선언 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 ... =>. 그러나 ML을 사용한 지 수십 년이 지났습니다.
Neil

@Neil 당신이 맞습니다. fun익명 함수와 결합 된 구문 설탕 val( rec함수가 재귀 적 인 경우에만 필요합니다) "접두사를 붙여야합니다"라는 수식이 잘못 선택되었습니다. 답을 편집하겠습니다. 일반적으로 fun코드 골프에서 사용하는 것이 가장 짧습니다.
Laikoni

15

루비 / C, 64 62 51 48 바이트

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

루비가 보는 것 :

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

tap메소드는 블록을 가져 와서 한 번 실행합니다. #defineC에서 매크로를 만들 수있는 짧은 식별자입니다 . 루비가 {}대부분의 컨텍스트에서 s를 허용하지 않더라도 공유 코드에 중괄호로 묶인 블록을 넣을 수도 있습니다 .

루비의 유일한 잘못된 값은 falseand nil입니다. 특히 0은 진실입니다. 따라서 루비는 "트릭"을 인쇄합니다.

C가 보는 것 (전 처리기 이후) :

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

C에서는 0이 거짓이므로 C는 "치료"를 인쇄합니다.

daniero 덕분에 2 바이트가 절약되었습니다.


1
좋은. puts대신에 printf2 바이트를 절약 할 수 있습니다
daniero

감사! 나는 항상 printfC에서 사용하는 데 익숙해 졌으며 puts함수 도 가지고 있다는 것을 잊었습니다 .
m-chrzan

두 가지 아이디어 : 더 짧은 것을 사용할 수 없습니까 tap? 왜 공간을 없애지 않았습니까? p ? "trick":"treat"=>p?"trick":"treat"
BrainStone

tap실제로 두 가지 목적으로 사용됩니다. 잠글 수있는 짧은 식별자 #define이지만 루비 코드에 괄호를 직접 넣을 수도 있습니다. {}Ruby의 블록은 C 및 유사한 언어에서와 같이 작동하지 않지만tap 않는 블록을 가지고, 그것은 한 번 실행합니다.
m-chrzan

Ruby의 메소드 이름은 물음표로 끝날 수 있으므로 뒤에 공백이 필요합니다 p. ?<character>는 문자 리터럴이므로 공백 뒤에 공백이 필요합니다 ?.
m-chrzan

15

Q 기본 / 자바 스크립트, 51 44 바이트

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

QBasic에서는 두 번째 줄을 인쇄하고 첫 번째 줄은 주석이라고 생각하기 때문에 실행하지 않습니다 (감사합니다). JS에서는 JS NOP 바로 다음에 첫 번째 행에 정의 된 PRINT 함수를 호출합니다 '';.


1
매우 영리한 접근법!
BrainStone

14

ShapeScript / Foo , 13 바이트

'trick'"treat

온라인으로 사용해보십시오! 트릭 | 치료하다

작동 원리

ShapeScript는 문자별로 구문 분석됩니다. 닫는 따옴표없이 EOF에 도달하면 스택에 아무것도 푸시되지 않습니다. 'trick'따옴표 안에 문자열을 푸시하여 암시 적으로 STDOUT에 인쇄합니다.

Foo에는 문자 is에 할당 된 명령이 'trick'없으므로 부분은 자동으로 무시됩니다. 그러나 닫는 따옴표가없는 경우에도 큰 따옴표 사이에서 STDOUT으로 즉시 인쇄합니다.


14

루비 / 펄, 21 바이트

print"trick"%1||treat

을 계산 "trick" % 1이다 0 % 1그래서는 ||전송 treatprint펄이 barewords을 허용하기 때문에, 대신.

루비

"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 개의 문자가 없습니다! (EAT)
Destructible Lemon

@DestructibleWatermelon 감사합니다! 편집
Luis Mendo

이제 MATL 설명에서 세 가지가 누락되었습니다!
Destructible Lemon

@DestructibleWatermelon Aww. 다시 감사합니다 :-D
Luis Mendo

12

젤리 / pl , 12 바이트

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

이것은 Jelly의 코드 페이지를 사용하여 표시되는 프로그램 입니다.

treatµ
“¡ṾI»

온라인으로 사용해보십시오!

코드 페이지 437을 사용하여 표시되는 프로그램 입니다.

treat
⌂■␀║I√

온라인으로 사용해보십시오!

두 프로그램 모두 동일한 12 바이트 파일로 로컬에서 테스트되었으므로 적절한 폴리 글롯입니다.

작동 원리

Jelly에서 모든 줄은 링크 (함수)를 정의합니다 . 마지막 줄은 프로그램이 실행될 때 자동으로 실행되는 메인 링크를 정의합니다 . 마지막 7f바이트 앞의 코드 (Jelly의 코드 페이지의 줄 바꿈)에 파서 오류가 포함되어 있지 않으면 (즉시 실행을 중단 할 것임) 단순히 무시됩니다. 마지막 줄은 “¡ṾI»단순히 단어 트릭 을 가져 오기 위해 Jelly의 사전으로 색인합니다. 하여 프로그램 끝에서 암시 적으로 인쇄되는 .

나는 pl에 대해 많이 알지 못하지만 인터프리터는 한 줄의 코드 만 가져오고 그 뒤에 오는 모든 것을 무시합니다. Perl에서와 같이 베어 워드는 문자열로 취급되므로 treat정확하게 인쇄합니다.


12

오브젝티브 -C / C, 50 바이트

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

Objective-C는 사탕을 얻었고 인쇄물은 취급 했지만 C는하지 않았고 인쇄는 속 였습니다.

작동 원리

Objective-C 에 대해 많이 알지 못하지만이 상황에서 합리적으로 기대하는 것을 수행합니다. 의 재정의 puts는 함수를 호출하지 않기 때문에 출력에 영향을 미치지 않으며 STDOUT에 처리 및 줄 바꿈을 main인쇄합니다 .

C 가 똑같이 할 것으로 기대할 수 있지만 적어도 gcc 4.8, gcc 5.3 및 clang 3.7은 그렇지 않습니다.

실제 printf (포맷 문자열과 추가 인수 가 필요)가 필요하지 않고 인쇄 할 문자열은 줄 바꿈으로 끝나므로 puts를 대신 사용할 수 있습니다 . putsprintf (인쇄 전에 인수를 분석해야 함) 보다 약간 빠르 므로 printf 함수를 재정의하지 않으면 컴파일러는 printf 호출을 puts 호출로 최적화하고 대체합니다 . 컴파일러 puts는 인수 를 호출 "treat"하면 트릭 을 인쇄 한다는 것을 거의 알지 못합니다. 대신 !

여기에 stdio.h를 포함하지 않는 것이 중요합니다. puts를 정의 하려면 헤더 파일 ( puts(const char*)) 에있는 것과 동일한 유형을 사용해야합니다 .

마지막으로 puts 에서 printf 를 호출하면 줄 바꿈 없이 문자열 전달 됩니다. 그렇지 않으면 컴파일러는 해당 호출도 "최적화"하여 분할 오류를 발생시킵니다.


10

배치 / sh, 30 바이트

:;echo Treat;exit
@echo Trick

설명. Batch는 첫 번째 줄을 레이블로보고 무시하고 두 번째 줄을 실행하여 Trick을 인쇄합니다. @는 Batch의 기본 명령 에코 표시를 억제합니다. (라벨은 반향되지 않습니다.) 한편 sh는 다음을 참조합니다.

:
echo Treat
exit
@echo Trick

첫 번째 줄은 아무것도하지 않으며 (별칭 인 true) 두 번째 줄은 Treat를 인쇄하고 세 번째 줄은 스크립트를 종료하므로 @echo Trick에 도달하지 않습니다.


10

sed / hexagony 32 바이트

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

sed

온라인으로 사용해보십시오!

trick입력 끝에 빈 문자열이 있으면 첫 번째 행이 인쇄 됩니다. (sed는 입력이 없으면 아무것도하지 않지만 stdin에는 빈 줄이 허용됩니다)

예제 실행 :

$ echo | sed -f TrickOrTreat.sed
trick

헥사 고니

온라인으로 사용해보십시오!

첫 번째 /는 명령어 포인터를 왼쪽으로 리디렉션하고 왼쪽 아래를 감싸고 sed에 사용 된 텍스트를 건너 뜁니다. sed 코드에서 r을 재사용하고 아무런 영향을 미치지 않는 다른 몇 가지를 실행합니다. 확장 된 16 진수는 다음과 같습니다.

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

산출:

treat

실행 경로 그림이있는 Hexagony 게시물을 보았습니다. 생성하기가 쉬운가요?
Riley


1
Hexagony 코드는 선행 널 바이트를 인쇄합니다. 이 도전의 목적으로 공백으로 간주되는지 확실하지 않습니다.
Martin Ender

@MartinEnder 허용 된 것처럼 들립니다. 지적 해 주셔서 감사합니다, 나는 어떤 이유로 든 항상 그리워 ...
Riley

나는 약간의 바이트를 절약하면서도 고칠 A수있었습니다 ( 대문자를 인쇄하는 비용으로 모든 글자를 대문자로 바꾸어도 못 생기게 만들 수 있습니다
Martin Ender

10

C # / 자바

이것은 자체적으로 실행되지 않기 때문에 아마도 자격이 없지만 C #과 Java가 문자열 비교를 다르게 처리하여 코드 난독 화에 재미를 줄 수있는 방법에 대한 단점을 상기 시켰습니다.

다음 함수는 C # 및 Java에서 유효하지만 다른 값을 리턴합니다.

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

참으로 재미있는 기발한.
BrainStone

10

브레인 플락 / 뇌 Flueue, 265 253 219 165 139 115 113 101 바이트

에 +1 포함 -A

앞뒤로 이동하는 밀 마법사 덕분에 나와 다른 코드에서 몇 바이트 떨어져 골프를 쳤다.

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

Brain-Flak : 온라인으로 사용해보십시오!
뇌-유체 : 온라인으로 사용해보십시오!

설명 :
첫 번째 섹션에는 Brain-Flak이 보는 값이 나열되어 있습니다.
Brain-Flueue로 전환하면 Brain-Flueue가 보는대로 값을 나열하기 시작합니다.

# 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

PowerShell / Foo, 14 바이트

'trick'#"treat

'trick'PowerShell의 문자열을 생성하고 파이프 라인에 둡니다. #주석 이 시작되므로 프로그램이 완료되고 암시 적 Write-Output인쇄trick .

Foo, (Try it Online!) 에서는 'trick'무시 #되고 프로그램은 0몇 초 동안 잠자기합니다 (배열의 포인터에 아무것도 없기 때문에) "treat. EOF에 도달 했으므로 "문자열을 닫는 것이 암시 적 이며 stdout으로 인쇄됩니다.


J / Foo에서도 작동합니다.
Conor O'Brien

@ ConorO'Brien 설명이 동일합니까? 나는 J를 사용한 적이 없으며 익숙하지 않습니다.
AdmBorkBork

아니요, J에서는 작동하지 않습니다 #. 복사 기능이며 문자열이 아닌 음이 아닌 복잡한 왼쪽 인수 만 취합니다. 주석 기호는NB.
Adám

@ Adám 맞습니다. 분실#
코너 오브라이언

9

PHP / 펄, 28 바이트

print defined&x?trick:treat;

defined&x
PHP에서 진실한 것을 제공합니다 (이유는 모릅니다).
Perl에서는 함수 x가 정의 되어 있는지 확인합니다 .
-> trickPHP, treatPerl.


@jmathews Windows 버전에 백 스페이스 제어 문자 를 넣으 려고 했습니까 ? 무엇에 대해 CLS?
디도

`정의 된 & x 또는 d & x의 진실한 가치는 당신이 얻는 d를 묻지 않습니다
Jörg Hülsermann
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.