추수 감사절에 무엇을 가져다 드릴까요?


40

미국의 추수 감사절 이 11 월 24 일에 나옵니다. 많은 사람들이 전통적으로 칠면조와 많은 반찬을 포함하여 가족과 함께 큰 저녁을 먹을 것입니다. 이것은 일반적으로 가족이 다양한 요리를 가져올 사람을 조정해야 함을 의미합니다. 이 과제의 목표는 실행되는 언어마다 다른 접시를 출력하는 폴리로트작성하는 것입니다.

메뉴

( Wikipedia 에서 선택되었습니다 . 명확하지 않은 경우 각 줄은 하나의 항목입니다.)

turkey
stuffing
dressing
cranberry sauce
mashed potatoes
gravy
winter squash
sweet potatoes
corn
green beans
green bean casserole
mac and cheese
macaroni and cheese
salad
rolls
biscuits
corn bread
pumpkin pie
apple pie
mincemeat pie
sweet potato pie
pecan pie
apple cider
sweet tea

규칙

  • 각 제출은 최소한 3 개 언어로 실행되어야하며 각 언어 는 메뉴 와 다른 항목을 출력해야 합니다. 동일한 언어의 여러 버전을 사용할 수 없습니다 (예 : Python 2 및 Python 3은 동일한 답변에 사용할 수 없음).
  • 각 항목은 각 언어의 인코딩에서 동일한 바이트를 가져야합니다. 예를 들어, Jelly의 인코딩 에서 ɱ바이트 는 05AB1E의 인코딩 에 해당합니다 .0x1D¢
  • 언어마다 다른 출력 방법을 사용할 수 있지만 항목은 모든 언어로 된 전체 프로그램이어야하며 기본 허용되는 IO 방법 중 하나를 따라야 합니다 .
  • 어떤 프로그램도 입력 할 수 없지만, 올바른 출력이 여전히 STDOUT 또는 파일로 인쇄되는 한 프로그램은 STDERR로 인쇄되거나 런타임 / 컴파일 시간 오류 및 경고를 발생시킬 수 있습니다.
  • 대소 문자와 공백은 중요하지 않습니다. 예를 들어의 출력 GreenbeAN S은 여전히로 계산됩니다 green beans.
  • 미국 추수 감사절 식사 1 회의 중심 접시 는 칠면조이므로, 하나의 언어가 출력되어야합니다turkey (대소 문자와 공백은 무시).

채점

대부분의 언어에서 고유 한 유효한 출력을 생성하는 제출물이 승리합니다. 동점 인 경우 묶인 항목 중 가장 짧은 바이트 수가 이깁니다.

1. 네, 칠면조 만이 유일한 주요 요리 는 아니지만, 우리는 그것을 가장 할 것입니다.


1
두 가지 관련 과제 : 1 , 2
ETH 프로덕션

대소 문자와 공백은 중요하지 않습니다. 따라서 공백 을 제거 할 수 있습니까? 출력 말해cornbread
Luis Mendo

@LuisMendo Yup.
ETHproductions

1
저는 미국에 살지 않기 때문에 아무 것도 가져 오지 않겠습니다. XD
Mega Man

1
@ ConorO'Brien null 문자를 공백으로 허용합니다. 그렇습니다. BF의 다른 "방언"을 사용할 수 있습니다.
ETHproductions

답변:


32

Pyke, Pyth, Python 2, Foo, Brain ****, GolfScript, 실제로, <> <, Gol <> <, 심각하게, Befunge, Fission, Haystack, 13 개 언어, 546 바이트

내가봤을 때 다른 (10) (11) (12) 언어 답을 , 나는 여분의 추가했다 하나 나는 또한 진지하게 만 바이트에 저장하는 경우 Pyth을 떨어 뜨리고 고려 중이 야 3. (현재 162 명)

#\ s[\g\r\a\v\y)w.q)\r\o\l\l\ssp00/;oooooooo'stuffing;oooooo~'`turkey'
print'corn'#))))))))))))))))))))))))]+[--------->++<]>+w.q++[->+++<]>++w.q+++++++++++w.q-----------w.q----------------;))!+f'!n'!i'!s'!s'!e'!r'!d'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L
'bread'#)))\é'i'n'o'r'a+++++))))))))))))))))))))))))))))))))))))))))))))))))\♀1X'c'a'm++++'e's'e'e'h'c'd'n'a++++++++)+.&\�0\ó))))))))))))))))))
#\25*8*0+c25*6*9+c25*6*7+c25*6*5+c25*7*8+c25*8*0+c25*7*3+c25*6*9+c|000000
# ,,,,,,,,@0>00000000\#"biscuits"aetteews"

파이크 : 여기 사용해보십시오! rolls

관련 코드 줄 :

#s[\g\r\a  \v\y)w.q)\r\o\l\l\ssp00/;oooooooo'stuffing;oooooo~'`turkey'

#s[\g\r\a  \v\y)w.q) - effectively a comment because # doesn't do anything with an empty stack
\r\o\l\l\ss - sum("r", "o", "l", "l", "s")
p - print(^)
00/ - raise a ZeroDivisionError to stop running code

Pyth : 여기 사용해보십시오! gravy

관련 코드 줄 :

#s[\g\r\a  \v\y)w.q)\r\o\l\l\ssp00/;oooooooo'stuffing;oooooo~'`turkey'

#...) - while True:
s[\g\r\a  \v\y) - sum(["g", "r", "a", "v", "y"])
w - input()
.q - quit

모든 것은 )Pyth가 입력없이 오류없이 컴파일하도록합니다.


파이썬 2 : corn

1 행은 전체 설명입니다

2 행은 "옥수수"를 인쇄 한 다음 주석이 있습니다.

3 행에는 문자열 리터럴과 주석이 있습니다.

4 번째 줄부터는 주석입니다


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

Foo는 큰 따옴표 ( ")로 묶은 모든 것을 인쇄합니다 . 이 경우 다른 형식의 문자열 입력 (Befunge의 특수 사례)에 대처할 수있는 언어 만 포함하도록주의를 기울였습니다. final 다음에 텍스트 "가 있으면 인쇄됩니다.


Brain **** : 온라인으로 사용해보십시오! salad

상수 문자열 생성기의 출력을 복사했습니다. Pyth와 함께 플레이하고 Pyke와 함께 플레이하도록 모든 .캐릭터 를 탈출 해야했습니다. 세 번째 줄의 다른 문자로 인쇄하기 전에 셀이 올바른 지점에 도달하도록 추가 문자를 추가 했습니다..qw.-.


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

GolfScript에서 #줄 끝까지 주석입니다.

GolfScript 인터프리터가 보는 것 :

#comment
print'corn'#comment
'bread'#comment

어떤 이유로 든 GolfScript에서는 print문자열을 사용하여 줄 바꿈없이 인쇄합니다. bread인쇄하는 것만으로 도 충분합니다.


실제로 : 온라인으로 사용해보십시오! macandcheese

관련 라인 :

'bread'#)))\é'i'n'o'r'a+++++))))))))))))))))))))))))))))))))))))))))))))))))\♀1X'c'a'm++++'e's'e'e'h'c'd'n'a++++++++)+.&\�0\ó))))))))))))))))))

é - clears the stack of whatever junk was on it before.
'i'n'o'r'a+++++ - create string "aroni"
) - rotate entire stack (effectively comments as stack is only 1 long)
♀1X - pop stack (now empty)
'c'a'm++++ - constructs the string "mac"
'e's'e'e'h'c'd'n'a++++++++ - constructs the string "andcheese"
) - rotate stack (reverse)
+ - "mac" + "andcheese"
� - quit

<> <: 복사 + 붙여 넣기 만 turkey 출력 애니메이션


Gol <> <: 온라인으로 사용해보십시오! stuffing

<> <를 제외하고 `는 첫 번째를 건너 뛰고 '인쇄하기에 충분한 문자 만 출력합니다stuffing


진지하게 : 온라인으로 사용해보십시오! macaroniandcheese

관련 라인 :

'bread'#)))\é'i'n'o'r'a+++++))))))))))))))))))))))))))))))))))))))))))))))))\♀1X'c'a'm++++'e's'e'e'h'c'd'n'a++++++++)+.&\�0\ó))))))))))))))))))
é - clears the stack of whatever junk was on it before.
'i'n'o'r'a+++++ - create string "aroni"
) - rotate entire stack (effectively comments as stack is only 1 long)
♀1X - no-op
'c'a'm++++ - constructs the string "mac" + "aroni"
'e's'e'e'h'c'd'n'a++++++++ - constructs the string "andcheese"
) - rotate stack (reverse)
+ - "macaroni" + "andcheese"
. - print stack
0\ó - exit

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

본 코드

#s[\g\r\a  \v - |
            ) - | - Directing the stack pointer to the correct place
            é - |
# ,,,,,,,,@0>00000000\#"biscuits"aetteews"

            >                              - change direction of travel
             00000000\#"biscuits           - a load of no-ops `#` skips the opening `"`
                                "aetteews" - add the chars to the stack in reverse order
  ,,,,,,,,@                                - output 8 chars from the stack and exit.

분열 : 온라인으로 사용해보십시오! dressing

코드는 보았다 :

;))!+f'!n'!i'!s'!s'!e'!r'!d'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))L

어느 것이 사용됩니까?

;!+f'!n'!i'!s'!s'!e'!r'!d'L
                          L - start an atom going left
                      !d'   - create the character `d` and print it
                              ...
;                           - exit

건초 더미 (2015) : PECANPIE(EXTRA 개행!)

#\
 r
 b
 \25*8*0+c25*6*9+c25*6*7+c25*6*5+c25*7*8+c25*8*0+c25*7*3+c25*6*9+c

그중에는 기능적인 일이 있습니다.

  25*8*0+c25*6*9+c25*6*7+c25*6*5+c25*7*8+c25*8*0+c25*7*3+c25*6*9+c

PECANPIE 대문자 로 된 문자에 대해 각각의 대문자 ascii 코드 포인트를 모두 100 미만이기 때문에 대문자로 구성합니다. 그런 다음 문자로 모두 인쇄합니다.


1
와! Pyth / Python 폴리 글롯을 본 적이 없습니다 (댓글이 더 쉬워 질 것 같습니다)
Esolanging Fruit

일부 공백을 제거하고 더 짧게 만들 macaroni and cheese수 있습니다 ( 으로 출력 가능 macaroniandcheese)
Artyer

@Artyer 공간이 제거됨
파란색

1
@Artyer 이것은 codegolf가 아닙니다
FlipTack

1
잠깐, GolfScript 출력 cornrolls? 메뉴에 없었습니다 ...
ETHproductions

10

CJam , 05AB1E , Dip , V , 4 개 언어, 36 34 바이트

@DrMcMoylex 덕분에 2 바이트가 절약되었습니다!

"turkey"e#"corn"??"gravy"p&Ssalad

원래 36 바이트 코드 :

"turkey"e#"corn"??"gravy"p&ddisalad

애프터 &상기 전에 d<ESC>1 바이트이다. 따라서 폭이 0 인 문자가 표시된 코드는 다음과 같습니다.

"turkey"e#"corn"??"gravy"p&Ssalad

CJam

( <ESC>표시되지 않음)

"turkey"e#"corn"??"gravy"p&Ssalad
"turkey"                           e# push this string
        e#"corn"??"gravy"p&Ssalad  e# comment
                                   e# implicit output

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

05AB1E

( <ESC>표시되지 않음)

"turkey"e#"corn"??"gravy"p&Ssalad
"turkey"                           # push this string
                                   # STACK: ["turkey"]
        e                          # calculates nPr for the last two values in the stack
                                   # since there is only one value, this evaluates to nothing
                                   # as a result, "turkey" is popped
                                   # STACK: []
         #                         # if true end, since this is false, the program doesn't end
          "corn"?                  # push this string and print it without newlines
                                   # STACK: []
                 ?                 # prints nothing, since there is nothing in stack
                  "gravy"p&Ssalad  # nothing happens here since the stack is already printed using a command and there is NO implicit print now, I think

온라인으로 사용해보십시오! 출력 :corn

V

( <ESC>표시)

"turkey"e#"corn"??"gravy"p&<ESC>Ssalad
"turkey"e#"corn"??"gravy"p&             Code that writes a newline followed by `rn"??"gravy"p&Ssalad`
                           <ESC>        Enters normal mode
                                S       Deletes line and enters insert mode
                                 salad  Writes salad

온라인으로 사용해보십시오! 줄 바꿈 다음에 출력salad

담그다

( <ESC>표시되지 않음)

"turkey"e#"corn"??"gravy"p&Ssalad
"turkey"                           push this string
                                   STACK: ["turkey"]
        e                          not in the language's database
         #                         push str("turkey") --> "turkey"
                                   STACK: ["turkey"]
          "corn"                   push this string
                                   STACK: ["turkey","corn"]
                ?                  pop "corn", if it is the boolean True (which it isn't) execute the following,
                                   but since it is false, nothing until the next ? gets executed
                                   STACK: ["turkey"]
                 ?                 if-statement end
                                   STACK: ["turkey"]
                  "gravy"          push this string
                                   STACK: ["turkey","gravy"]
                         p&        print turkey and end program
                           Ssalad  irrelevant since program has ended

출력 gravy

참고 : python3 dip.py이스케이프 문자 리터럴로 인해이 코드를 실행 한 다음 입력 할 수 없습니다 . 이것은 ^[딥 인터프리터를 혼란스럽게 만들고 [명령 이라고 생각 하여 오류가 발생합니다.

이를 실행하는 가장 좋은 방법은 소스 파일을 편집하고 마지막 행을 변경하는 것입니다. dip.py

main(input(">>> "), stack.Stack())

main("\"turkey\"e#\"corn\"??\"gravy\"p&Ssalad", stack.Stack())
exit()

이스케이프 문자 리터럴을 반드시 포함하십시오!. 이제 코드가 인터프리터에 전달되어 이해할 수 있도록 코드 "가 이스케이프 처리되어야 \"합니다. 이제 명령 행에서 실행하면 실제 코드와 출력을 해석합니다 gravy.


@ETHproductions 나는 어쨌든 ... 그 작업, 그 보지 않았다
Kritixi LITHOS

@ETHproductions 완료! 이제 세 가지 언어로 작동합니다!
Kritixi Lithos

시원하고 좋은 것!
ETHproductions

3
pop "corn"설명에서 +1
FlipTack

이쑤시개와 골프 팁 : 이스케이프 모드가 아니라 "일반 모드"라고하며 공백은 관련이 ddiS
없으므로

9

MATL / Golfscript / 05AB1E / CJam : 4 개 언어, 34 33 바이트

'TURKEY'%"rolls"#];"corn""bread"s
  • MATL에서는이 결과를 출력 TURKEY 합니다.
  • Golfscript에서 출력 rolls 합니다.
  • 05AB1E에서는을 출력 corn 합니다.
  • CJam에서는 출력 cornbread 합니다.

2
tUrKEY? 의 대문자 사용에 대한 특별한 이유
ETHproductions

@Ethproductions 따라서 CJam에서 유효한 진술이므로 해당 언어로 조기에 오류가 발생하지 않습니다.
Luis Mendo

실제로 모든 대문자가 될 수 있습니다. 결국, 터키는 가장 중요한 요리 :-)입니다
루이스 Mendo

8

C, SH, 파이썬 3, 님, 줄리아, Brainf ** K - 6 개 언어, (211) 209 바이트

#define println(x) main(){puts("turkey");}/*
#[
#=
a=''''
echo gravy
'''
println=lambda x:print("biscuits")
# ]#proc println[T](s:T)=echo"rolls"#--[----->+<]>---.++++++++++++.+++.----.
# =##*/
println("salad")

메뉴 항목에 대한 언어 :

  • C 출력 turkey
  • sh 출력 gravy
  • 파이썬 3 출력 biscuits
  • 님 출력 rolls
  • 줄리아 출력 salad
  • Brainf ** k 출력 corn

@kvill 덕분에 Julia가 추가되었습니다!


1
Julia는 동일한 바이트 수로 압축 할 수 있습니다. C를 떨어 뜨릴 수 있습니다 #include(에서 작동 gcc). puts println에서 제외하고 모든 곳의 이름을 바꾸고 main(), #=위에 줄리아의 여러 줄 주석 오프너를 추가 a='''하고로 변경 #*/하십시오 # =##*/.
kvill

exit작은 따옴표를 제거 하고 이전 줄 ( a='''')에 작은 따옴표를 결합하여 이를 더 골프화 할 수 있습니다 . sh경고를 표시하지만 AFAIU가 허용됩니다. 그리고 println[T](s:T)=echo"rolls"Nim 에서 일합니다. 내가 좋아하는 모든 언어가 결합 된 멋진 답변!
kvill

7

ferNANDo /> <> / Gol> <> / 05AB1E / 2 세블, 5 개 언어, 178 바이트

!v"`"v"!
     <;ooooo"salad"
"<;oooooooo"dressing
1 0
0 1 1 1 0 1 0 0
0 1 1 1 0 1 0 1
0 1 1 1 0 0 1 0
0 1 1 0 1 0 1 1
0 1 1 0 0 1 0 1
0 1 1 1 1 0 0 1
")\"corn""ab"û"aba"Qi"rolls"

7

Befunge-98 , > <> , V , Python 2, 05AB1E , Gol> <> , Foo , Haystack (2015 버전) , GolfScript , BF, Fission , Minkolang 0.15 , 심각하게 , Axo : 14 개 언어, 381 바이트

이것은 BlueEyedBeast 와의 공동 답변입니다 .

나는이 질문에 2D 접근을하기로 결정했다. 그렇다. 7 개의 2D esolang이있다!

BlueEyedBeast의 답변 (Foo, GolfScript)이 추가 할 추가 언어에 대한 영감을 얻었습니다.

<ESC>Escape 의 문자 리터럴입니다 .

#>!>\'n\'r\'o\'c\,,,,,@'s'a'l'a'dJ,é'g'n+'i+'s+'s+'e+'r+'d+.ó[-]+[----->+++<]>.+++++++++++.+++[->+++<]>++.+[--->+<]>.+++H'turkey'~;oooooooo'sweettea.0-5++++++++fffffffff''`'
#   >99*d1+c3-c89*4+dcc99*2+c!|$l9D3-O93++dOO8+O1+O1-O5+OO1+O95++O.
# >'p'()'u'()'m'()'p'()'k'()'i'()'n'()'p'()'i'()'e'()\
print'biscuits';'pecanpie'#"stuffing"R'c!'o!'r!'n!'b!'r!'e!'a!'d!*<ESC>ddddddSapplepie

베 펀지 -98

#?!>                                nothing important
  'n                                push 'n'
                                    STACK: [110]
    \                               swap top two stack values (TBH, I'm not really sure what happens in this case)
                                    STACK: [110, 0]
     'r\'o\'c\                      repeat the same for other characters
                                    STACK: [110 114 111 99 0]
              ,,,,,                 output the next 5 top stack values, "corn"
                   @                end program
                                    rest of the code is irrelevant
                                    since program has already stopped

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

> <>

명령은 표시된 순서대로 표시됩니다

                                    enter from the left, direction = right
#                                   mirror, now the direction will change to left
                                    and it wraps around and comes to the right
                                    and reads code from the right to the left
'`'                                 push this
   ' ... 5-0.aetteews'              push this too
                      oooooooo      outputs the top 5 characters of the stack
                              ;     end program

온라인으로 사용해보십시오! (복사 및 붙여 넣기 만) 출력sweettea

V

             ...<ESC>                 writes stuff over three lines and enters normal mode
                     ddddddS          deletes 3 lines, delete another line and enter insert mode
                            applepie  writes "applepie"

온라인으로 사용해보십시오! 출력 applepie(~ 20 초가 소요될 수 있음)

파이썬 2

                                    # first two lines are comments
print"biscuits";                    # prints "biscuits" and ends statement
                'pecanpie'          # dangling (and ignored) string literal 

온라인으로 사용해보십시오! (복사 및 붙여 넣기 만) 출력biscuits

05AB1E

#>!>                                # does nothing important
\'n\                                # push 'n' and delete it
     'r\'o\'c\                      # repeat for other characters
              ,,,,,                 # prints 5 times (since there is nothing in stack,
                                    #                 prints nothing)
                   @                # push the index of the top of stack
                    's'a'l'a'd      # push these characters
                              J,    # join them and print them out
                                    # the rest of the code does not matter
                                    # since there is no implicit print
                                    # because we used the print statement

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

골> <>

명령은 표시된 순서대로 표시됩니다

                                    enter from the left, direction = right
#                                   mirror, now the direction changes to left
                                    and it wraps around and comes to the right
                                    and reads code from the right to the left
 '                                  starting parsing strings
  `                                 escape next character
   '                                gets escaped
    "                               stop string parsing
     fffffffff                      pushes 15, 8 times
           ++++++++                 adds up the numbers, resulting in 135
                 5-                 subtract 4 from it, 130
                   0                pushes 0
                    0               jumps to (130, 0)

#\'n\'r\'o\'c\,,,,,@'r'o'l'l'sJ, ... H'turkey'~;oooooooo"sweettea.0-5++++++++fffffffff""`"
                                              ^
                                       we are here now

                     ˜              removes value at top of stack, '"'
                      "yekrut"      push this string
                              H     Output stack as characters and halt program

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

Foo는 큰 따옴표로 무엇이든 출력하므로 다른 언어에서는 큰 따옴표를 사용하지 않도록주의를 기울였습니다. 때문에 "stuffing"큰 따옴표로, 그것은이 인쇄됩니다.

온라인으로 사용해보십시오! 출력 stuffing후 오류가 있습니다

건초 더미 (2015)

최신 버전이 유효하지 않으므로 Haystack의 2015 (2016이 아닌) 인터프리터를 사용합니다. 이에 대한 해석은 haystack.py하고 있지 haystack_new.py

명령은 표시된 순서대로 표시됩니다

#                                 ignored
 \                                reflection (now it moves downwards)
  >                               set direction to right
   99*d1+c                        Output 'R'
          3-c                     Output 'O'
             89*4+dcc             Outputs 'L', newline, 'L'
                     99*2+c!|     Outputs 'S' and ends the program
                                  Note: '!' is ignored by the interpreter

이 프로그램은 출력

R
O
L
L
S

이 출력 후 줄 바꿈 (이봐, 공백은 중요하지 않습니다!)

GolfScript

                                    first 2 lines are comments
print'biscuits';                    pushes "biscuits" to the stack and discards it
                'pecanpie'          push this
                          #...      comment
                                    implicit output

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

BF

https://copy.sh/brainfuck/text.html 을 사용 하여 텍스트를 BF로 변환했습니다. 많은 ,입력 명령문 이 있지만 BF 코드는 독립적으로 실행됩니다.

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

분열

핵분열 프로그램이 시작 되려면 원자가 생성되어야합니다. 우리는 이것이 세 번째 줄에서 일어나는 것을 봅니다.

..."stuffing"                                Blah blah blah
             R                               Spawns an atom with direction right
              'c                             Gives the atom the mass of 'c''s ASCII value
                !                            Print the atom's mass
                 'o!'r!'n!'b!'r!'e!'a!'d!    Do the same for other characters
                                         *   Destroy atom, end program

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

Minkolang v0.15

#                                Doesn't really do anything
 \                               Reflect, moves downwards
  >                              Changes direction to right
    ... !|                       Does stuff in stack, '!' ignores the '|'
          $l9D3 ... ++O          Uses ASCII character codes to print "applecider"
                       .         Ends program

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

진지하게

é                          - clear stack
 'g'n+'i+'s+'s+'e+'r+'d+   - load chars onto stack
                        .  - print stack
                         ó - exit

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

악소

(명령은 순서대로 표시됩니다)

#>                                          blah blah
  !                                         rotate direction 90 degrees clockwise

  >                                         go right
   'p'()                                    push char and output
        'u'() ... 'e'()                     repeat for other characters
                       \                    end program

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



@ETHproductions 감사합니다! 나는 그것에 많은 노력을 기울
였다

약간의 작은 이쑤시개 :! befunge 코드에서 스택 맨 위에서 0을 가져 와서 1을 누릅니다. 따라서 프로그램이 인쇄를 시작할 때 스택 내용은 [110114111 99 1]입니다. ASCII 값 1의 문자는 표시되지 않으므로 (제목 시작) 결과에 시각적으로 영향을 미치지 않습니다. +1
MildlyMilquetoast 2016

@MistahFiggins $,,,,대신 ( 바이트 수를 변경 하지 않고) 출력하지 않기 1위해 변경할 수는 있지만 모든 영구 링크를 변경해야합니다 ... :)
Kritixi Lithos

6

Pushy , Python 및 Brainfuck

이것은 나의 첫 번째 폴리 글 로트이므로 나에게 너무 열심히 가지 마십시오. 바이트 수에 대해 걱정하는 사람들에게는 77 바이트이지만 타이 브레이커에만 관련이 있습니다.

"`turkey`"
print('gravy')
#++++++++++[>++++++++++<-]>-.++++++++++++.+++.----.

Pushy는 새로운 줄 바꿈과 함께 '터키' 를 인쇄합니다 STDERR.

"        % Print current stack: just a newline as stack is empty
`turkey` % Push to stack
"        % Print the stack: 'turkey'
p        % Primality check on 'y' (121): pushes 0
r        % Integer root of 0: throws error and exits

첫 줄과 마지막 줄이 주석으로 처리되므로 Python은 'gravy'를 인쇄합니다 .

Brainfuck은 단어 'corn' 을 만들고 인쇄하는 마지막 줄의 문자를 제외한 다른 모든 문자를 무시합니다 .


1
바이트 수는 얼마입니까?
Kritixi Lithos

1
또한 파이썬 2를 사용하여 괄호를 제거하고 2 바이트를 저장할 수 없습니까?
Kritixi Lithos

@ KritixiLithos 이것은 코드 골프가 아닙니다 ....
FlipTack

4
"동점의 경우 바이트 단위의 가장 짧은 묶음 항목이 우선합니다."전적으로 codegolf는 아니지만 여전히 바이트 수가 필요합니다.
TuxCrafting

2
@ TùxCräftîñg true, 그러나 이것은 어쨌든
순위

4

Pip , BF , oOo CODE , > <> , Befunge-93 ( Qurkster 구현), Ouroboros , /// : 7 개 언어, 175 바이트

/'//bisCuItS/`f(>-[--[<]>+>-]<.++++++++++++.+++.----.O@,,,,,,"tuRkey"
"saLaD"1/ooooo;1(
>"YVaRg"^(OoooOoOOoooOoooOOoooOOoOooOooOooOOoOooOooOooOOoOOoOoOOoOOoOOoOOo`OO"sTUfFINg"

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

자동으로 삭제되는 (다수의 경고가 활성화 된 경우 대부분 경고를 생성하는) 표현식 "sTufFINg"이 끝에 표시되는 표현식의 무리 .

/ '/ / b      Invert the string "/" and divide it by nil
i s           Two different variables
Cu            Chr(nil)
It            If 10:
S / `...` OO   Invert a Pattern literal and swap it with undefined variable OO
"sTufFINg"    Autoprint this last expression

BF

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

>-[--[<]>+>-]<.++++++++++++.+++.----.,,,,의견을 제외한 모든 것은 의견입니다. 이 코드는 생성 99(위한 문자 코드 c에 기재된 방법을 통해 최단) esolangs.org를 한 다음, 그것을 수정 o, rn. ,,,,입력 네 문자로 시도,하지만 그 아무것도 영향을주지 않습니다.

우 코드

문자를 제외한 모든 것은 무시됩니다. 문자를 3으로 그룹화하면 코드는 다음과 같습니다.

bis CuI tSf Otu Rke ysa LaD ooo ooY VaR gOo ... OsT UfF INg

이 BF 코드로 변환합니다 ( Martin의 Retina 변환기를 사용하여 시도하십시오 ).

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

어떤 출력rolls . (그리고 흥미롭게 corn><대문자를 올바르게 정렬하기 위해 no-op를 추가 하더라도 출력을 위해 위의 BF보다 짧 습니다.)

> <>

여기에서> <> 코드를 실행하십시오.

코드의 중요한 부분 :

/
        /ooooo;
>"YVaRg"^

IP가 위쪽으로 반사되어 줄 바꿈되어 오른쪽으로 전송됩니다. "YVaRg"의 문자 코드를 푸시합니다 gRaVY. ooooo다섯 글자를 출력 ;하고 프로그램을 종료합니다.

베 펀지 -93

코드는 정의되지 않은 동작에 의존하며 아마도이 구현 에서만 작동합니다 .

코드의 중요한 부분 :

/'                        @,,,,,,"tuRkey"

/부서입니다. 내가 분할을 사용하고 자바 스크립트 구현하므로 스택은 비어 0에 의해 0및 푸시 NaN.

'인식 할 수없는 문자입니다. 편리하게 사용하고있는 구현은 인식 할 수없는 문자를 Reflect 명령으로 취급합니다. (구현에 의존적이지 않은 버전의 경우 가능한 대체 방법은 다음과 같습니다 1_.) 따라서 IP는 다시 왼쪽으로 이동 NaN하여 0(getting NaN) 으로 나누고 줄의 다른 쪽 끝으로 줄 바꿈합니다.

이제 "yekRut"(이동 한 RTL)은 문자 코드를 푸시 tuRkey하고 ,,,,,,출력합니다. 마지막으로 @프로그램을 종료합니다.

우로 보로스

여기 사용해보십시오

코드의 각 줄은 독립적으로 실행되는 "뱀"입니다.

뱀 1

더 출력 지시가 없기 때문에, 코드의 유일한 중요한 부분입니다 f(: f푸시 15(뱀의 끝에서 제비 많은 문자. 코드는 이제 다음으로 끝나는 것으로 간주됩니다 .O. 뱀이 끝날 때까지 실행이 계속되고 처음으로 되돌아갑니다. 매번 뱀은 짧아지고 결국 뱀 (이 삼킬 때까지 짧아집니다 . 방금 IP를 먹었으므로 뱀은 실행을 멈 춥니 다.

뱀 2

"saLaD"문자 코드를 맨 처음으로 푸시합니다. 1/분할의 charCode 값 r에 의해 1변경되지 않은 상태로두면, 그리고 ooooo다섯 개 문자를 출력한다. ;스택이 이미 비어 있으므로 항목을 삭제합니다. 1(명령 포인터를 삼키고 정지합니다.

뱀 3

"YVaRg"일부 문자 코드를 푸시합니다. 다음 (문자의 수는 될 일이 스택의 상단에 동일 제비 89의 문자 코드를 Y. 89자를 먹는 것으로 충분하면 IP를 삼키고 실행을 중지 할 수 있습니다.

///

///의 Pip 구현을 사용하여 온라인으로 사용해보십시오

/'//프로그램의 나머지 부분에서 작은 따옴표를 모두 삭제합니다 (아무 것도 없기 때문에 아무것도하지 않습니다). 다음으로, 그대로 bisCuItS출력합니다. 마지막으로, 나머지 코드는 불완전한 대체입니다. 세 개의 필수 슬래시 중 두 개만 있어도 아무 것도 수행하지 않습니다.


나는 "사건은 중요하지 않다"라는 규칙을 남용하여 oOo CODE :-)에서 작동하게하는 것을 좋아한다
ETHproductions

3

Cubix, Pushy, Brainfuck, V, Python 2-5 개 언어, 89 85 바이트

내 두 번째 폴리 글롯-골프는 아니지만 잘 작동합니다.

"`turkey`";print'salad'#;"nroc"w!@o;"-[--";;;;{{->+<]>---.---.---..+++++++.␛ddgigravy

( 이는 리터럴 이스케이프 바이트 를 나타냅니다. x1B)

  • Cubix 인쇄 corn
  • 푸시 프린트 turkey
  • Brainfuck 지문 ROLLS
  • V 프린트 gravy
  • 파이썬 프린트 salad

큐빅스

온라인으로 프로그램을 테스트하십시오!

Cubix는 도전 과제 작성자 인 ETHproductions의 언어입니다. Cubix Interpreter는 다음과 같은 코드를 읽습니다.

        " ` t u
        r k e y
        ` " ; p
        r i n t
' s a l a d ' # ; " n r o c " w
! @ o ; " - [ - - " ; ; ; ; { {
- > + < ] > - - - . - - - . - -
- . . + + + + + + + . d d g i ␛
        g r a v
        y . . .
        . . . .
        . . . .

코드는 다음과 같이 실행됩니다.

  • 'salad -스택에서 관련이없는 XOR 작업을 수행하여 115, 0, 0
  • '#;-의 문자 코드를 #누른 다음 다시 팝업 (no-op)
  • "nroc" - "콘"에 대한 문자 코드를 밀어
  • w -IP를 아래 줄에서 반복하도록 이동합니다.
    • !@o; -마지막 항목 인쇄 및 팝업 (항목이 0 인 경우 종료)
    • "-[--";;;; -이 문자를 밀어 삭제 (no-op)
    • {{ -안돼

푸쉬

온라인으로 프로그램을 테스트하십시오!

Pushy는 제 자신의 언어이며 다음과 같은 코드를 실행합니다.

"          \ Print stack. Empty, so prints newline.
`turkey`   \ Push this string
"          \ Print this string
;          \ "End loop": Ignored as there is no loop in progress.
pr         \ Irrelevant stack operations
i          \ "interrupt": exit program.

Brainfuck

온라인으로 프로그램을 테스트하십시오!

Brainfuck은 명령어 목록에없는 모든 문자를 무시하므로 다음과 같은 결과가 발생합니다.

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

어떤 인쇄 ROLLS. 여기에는 제공된 셀과 같은 랩핑 셀이있는 인터프리터가 필요합니다.


V (Vim 언어)

온라인으로 프로그램을 테스트하십시오!

V는 최고의 코드 골퍼 중 하나 인 DJMcMayhem에 의해 만들어졌습니다.

V는 텍스트 편집기 Vim의 프로그램 기반 버전입니다. 이전의 대부분의 문자 ESC는 "파일"에 기록되지만 ␛ddgigravy모든 문자를 삭제하고 대신 "gravy"를 삽입합니다. 프로그램 끝의 파일 내용이 인쇄됩니다.


파이썬 2

온라인으로 프로그램을 테스트하십시오!

파이썬은 제가 가장 좋아하는 실용적인 언어 중 하나입니다. #파이썬에서는 주석 이므로 대부분의 프로그램이 무시됩니다. 코드는 다음과 같이 읽습니다.

"`turkey`";            # Unused string literal
print'salad'           # Print statement
#...                   # Comment (everything else is ignored)


Minor nitpick : 'salad'#실제로 s, 0, 0의 문자 코드와의 문자 코드를 푸시 #한 다음 ;스택 을 팝 하고을 스택에 둡니다 115,0,0.
ETHproductions

그래 @ETHproductions, 당신이 맞아요, 정말하는 프로그램 방식에 영향을 미치지 않습니다하지만 난 설명 고칠거야
FlipTack

2

Python / QBasic / Pip , 3 개 언어, 41 바이트

더 많은 언어가 TBA 일 수 있습니다.

1#print"corn":end
print("turkey");"salad"

파이썬

1폐기되는 표현식 일뿐입니다. #주석을 시작합니다. print("turkey")그것이 말하는 것을하고 "salad"버리는 또 다른 표현입니다.

Q 기본

1#(배정 밀도) 줄 번호입니다. print"corn"그것이 말하는 것을 수행합니다. end프로그램을 종료합니다. 두 번째 줄은 구문 상 유효하지만 실행되지는 않습니다.

대부분의 모든 표현은 버려집니다. "corn":e리터럴 문자열에 할당하려고 시도하며, 경고가 활성화되어 있지 않으면 자동으로 실패합니다. "salad"프로그램의 마지막 표현식이므로 인쇄됩니다.


1

PHP, JavaScript 및 BrainF * ck, 178 바이트

내가 폴리 글롯을 처음 시도했을 때-거짓말하지 않을 것입니다.

골프 :

<!DOCTYPE html><html><body><?php echo "turkey";?></body><script>function A(){alert("stuffing");}//`--[----->+<]>-++.+++++++++++.-----------------.-----------.+++.`
</script></html>

(나는 추수 감사절 음식을 HTML 코드로 작성하고 다른 언어로 계산하지 않았습니다 ...)

설명:

PHP 및 JavaScript 부분의 코드는 .php 파일로 저장해야합니다.

PHP :

PHP 서버에서 실행될 때 코드의 PHP 부분을 읽습니다.

<?php echo "turkey";?>

이 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

자바 스크립트 :

A()브라우저 콘솔에서 JavaScript 함수를 호출 할 수 있습니다 .

function A(){alert("stuffing");}

이 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

Brainf * cK

Brainf * ck 부분은 JavaScript 섹션의 주석에 숨겨져 있으므로 PHP 및 JavaScript 부분에서는 무시됩니다.

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

전체 파일을 IDE에 붙여 넣으면 다음 과 같이 출력됩니다.

여기에 이미지 설명을 입력하십시오

나는없이 Brainf * CK 부분 할 수 없었던 텍스트 - 투 - BF 웹 사이트를. 원래는 "corn"에 대한 코드를 생성 한 다음이 미친 언어에 대해 배우려고 시도하여 "gravy"또는 "graVY"로 변환했습니다.


1

Python, Clojure, Javascript, Ruby : 4 개 언어, 113 바이트

1;''''/*
#_(
puts("turkey")
__END__
);'''
1;1//2;'''
1;*/alert("gravy")/*
(print "salad");'''
#_
print "corn";#*/

대부분의 코드에 대해 @ Sp3000에 감사합니다. 놀랍게도, 나는 그의 원본에 아무것도 할 필요조차 없었으며, 루비 코드를 앞에 붙여야했습니다.


1

///, SQL 및 JavaScript

/*//turkey/\*/select('corn')
--a;function select(){alert('salad')}

다른 휴일 지향적 폴리 글롯과 동일한 구성 :

///

/*//turkey/../..   Simply prints 'turkey', does no replaces, stops execution because the second /// block is incomplete

SQL

/*//turkey/\*/    //turkey/\ is seen as a block comment
                  That last \ was added to set apart the following */, completing the block
select('corn')    SQL Select statement, yielding 'corn'
--a;...           Seen by SQL as a comment, ignored

자바 스크립트

/*//turkey/\*/    //turkey/\ is seen as a block comment
select('corn')    Function call to the function 'select', defined below
--a;              Decrement a, effectively a NOP
function select(){alert('salad')}
                  Defines the function select(), giving us 'salad'

0

Clojure / Common Lisp / PicoLisp, 39 바이트

(print(if '()'turkey(if""'rolls'corn)))

여기 리스프 가족. '()Clojure에서 true로 평가되어 기호 출력으로 진행됩니다 turkey. PicoLisp 및 Common Lisp는 잘못된 분기로 진행됩니다. ""Common Lisp에서는 true rolls이므로 cornsymbol 을 인쇄하고 PicoLisp에서는 빈 문자열이 false이므로 symbol 인쇄로 이동합니다 .

온라인으로 확인하십시오 :

https://ideone.com/OD65LB- 클로저

https://ideone.com/M1H5gf – 공통 리스프

https://ideone.com/B4x3ns – PicoLisp


0

CJam, 언더로드,> <>, 39 바이트

'v;"(Turkey)S";"Gravy""
 >'nroC'oooo;";

CJam이 보는 것

  • 'v;: 즉시 폐기되는 문자 리터럴
  • "(Turkey)S";: 즉시 폐기되는 문자열 리터럴
  • "Gravy": 문자열 Gravy을 스택으로 푸시합니다
  • "\n'nroC'oooo;";: 즉시 폐기되는 문자열 리터럴.

실행이 끝나면 스택이 출력됩니다. 즉, "Gravy"가 인쇄됩니다.

언더로드가 보는 것

  • 'v;": 무시되는 일부 유효하지 않은 명령
  • (Turkey)S: 문자열 "터키"를 푸시하여 출력
  • ";"Gr: 무시되는 일부 유효하지 않은 명령
  • a: 스택이 비어 있으므로 TIO 인터프리터에서 segfault가 발생합니다. 실행이 종료되었습니다.

> <>가 보는 것

  • 'v;"(Turkey)S";"Gravy""여러 문자를 스택으로 푸시합니다 (무시 됨). 그런 다음 IP가 다시 감 깁니다.
  • v IP를 아래쪽으로 보냅니다.
  • >'nroC'oooo 문자열 "Corn"의 문자를 푸시하여 출력합니다.
  • ;실행을 종료합니다. 다른 모든 문자는 무시됩니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.