Bạn sẽ mang gì cho Lễ Tạ ơn?


40

Lễ Tạ ơn tại Hoa Kỳ sẽ diễn ra vào ngày 24 tháng 11. Nhiều người sẽ có một bữa ăn tối lớn với gia đình, theo truyền thống bao gồm gà tây và nhiều món ăn phụ. Điều này thường có nghĩa là các thành viên trong gia đình phải phối hợp những người sẽ mang đến từng món ăn khác nhau. Trong thử thách này, mục tiêu là viết một polyglot tạo ra một món ăn khác nhau trong mỗi ngôn ngữ mà nó chạy.

Thực đơn

(Được chọn từ Wikipedia . Trong trường hợp không rõ ràng, mỗi dòng là một mục.)

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

Quy tắc

  • Mỗi lần gửi phải chạy bằng ít nhất 3 ngôn ngữ , mỗi ngôn ngữ phải xuất ra một mục khác nhau từ menu. Bạn không được sử dụng nhiều phiên bản của cùng một ngôn ngữ (ví dụ: Python 2 và Python 3 không thể được sử dụng trong cùng một câu trả lời).
  • Mỗi mục nhập phải có cùng byte trong mã hóa của mỗi ngôn ngữ. Ví dụ, ɱlà byte 0x1Dtrong mã hóa Jelly của , tương ứng với ¢trong mã hóa 05AB1E của .
  • Các ngôn ngữ khác nhau có thể sử dụng các phương thức đầu ra khác nhau, nhưng các mục nhập phải là chương trình đầy đủ trong tất cả các ngôn ngữ và tuân theo một trong các phương thức IO được phép mặc định của chúng tôi .
  • Không có chương trình nào có thể nhận đầu vào, nhưng bất kỳ chương trình nào cũng có thể in ra STDERR hoặc ném lỗi thời gian chạy / biên dịch và cảnh báo miễn là đầu ra chính xác vẫn được in ra STDOUT hoặc tệp.
  • Trường hợp và khoảng trắng không quan trọng. Ví dụ, một đầu ra GreenbeAN Svẫn sẽ được tính là green beans.
  • Vì món ăn trung tâm của mỗi 1 bữa ăn Lễ Tạ ơn của người Mỹ là gà tây, một ngôn ngữ phải xuất raturkey (bỏ qua trường hợp và khoảng trắng).

Chấm điểm

Việc gửi tạo ra đầu ra hợp lệ duy nhất trong hầu hết các ngôn ngữ sẽ giành chiến thắng. Trong trường hợp hòa, ngắn nhất trong số các mục bị ràng buộc tính bằng byte sẽ thắng.

1. Vâng, gà tây không phải là món ăn chính duy nhất , nhưng chúng ta sẽ giả vờ như vậy.


1
Hai thử thách liên quan: 1 , 2
ETHproductions

Trường hợp và khoảng trắng không quan trọng Vậy chúng ta có thể xóa khoảng trắng không? Nói đầu racornbread
Luis Mendo

@LuisMendo Yup.
Sản xuất ETH

1
Chà, tôi sẽ chẳng mang gì cả, vì tôi không sống ở Mỹ. XD
Mega Man

1
@ ConorO'Brien Tôi sẽ cho phép null char dưới dạng khoảng trắng. Và vâng, bạn có thể sử dụng các "phương ngữ" khác nhau của BF.
Sản phẩm ETH

Câu trả lời:


32

Pyke, Pyth, Python 2, Foo, Brain ****, GolfScript, Trên thực tế, <> <, Gol <> <, Nghiêm túc, Befunge, Phân hạch, Haystack, 13 ngôn ngữ, 546 byte

Khi tôi nhìn thấy người kia 10 11 câu trả lời bằng ngôn ngữ 12 , tôi đã có thêm một thêm một hai 3. Tôi cũng đang nghiêm túc xem xét thả Pyth nếu chỉ để tiết kiệm byte. (tại thời điểm 162 trong số họ)

#\ 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"

Pyke: Hãy thử nó ở đây! rolls

Dòng mã liên quan:

#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: Hãy thử nó ở đây! gravy

Dòng mã liên quan:

#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

Tất cả các )'s dành cho Pyth để làm cho nó biên dịch mà không erroring trên không có đầu vào.


Con trăn 2: corn

Dòng 1 là toàn bộ nhận xét

Dòng 2 in "ngô" và sau đó có một bình luận

Dòng 3 có một chuỗi bằng chữ và sau đó là một nhận xét

Dòng 4 trở đi là những bình luận


Foo: Dùng thử trực tuyến! biscuits

Foo in ra bất cứ điều gì kèm theo trong dấu ngoặc kép ( "). Trong trường hợp này, tôi đã cẩn thận chỉ bao gồm các ngôn ngữ có thể đối phó với các hình thức nhập chuỗi khác (Trường hợp đặc biệt cho Befunge). Nếu có bất kỳ văn bản nào sau trận chung kết ", nó cũng sẽ được in.


Brain ****: Dùng thử trực tuyến! salad

Tôi đã sao chép đầu ra của trình tạo chuỗi không đổi. Tôi đã phải trốn thoát tất cả các .nhân vật .qđể nó chơi với Pyth và w.vì vậy nó sẽ chơi với Pyke. Tôi đã thêm một số -ký tự phụ để các ô sẽ đến đúng điểm trước khi in ở một .ký tự khác trong dòng thứ 3


GolfScript: Dùng thử trực tuyến! cornbread

Trong GolfScript, #là một nhận xét cho đến cuối dòng.

Trình thông dịch GolfScript thấy gì:

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

Trong GolfScript, vì bất kỳ lý do gì, printlấy một chuỗi và in nó mà không có dòng mới. Chỉ cần có breadlà đủ để in nó là tốt.


Trên thực tế: Hãy thử trực tuyến! macandcheese

Dòng liên quan:

'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

<> <: Sao chép + Chỉ dán turkey Hoạt hình đầu ra


Gol <> <: Dùng thử trực tuyến! stuffing

Vì <> <ngoại trừ `bỏ qua đầu tiên 'và chỉ xuất ra đủ ký tự để instuffing


Nghiêm túc: Hãy thử trực tuyến! macaroniandcheese

Dòng liên quan:

'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: Dùng thử trực tuyến! sweettea

Mã được xem

#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.

Phân hạch: Dùng thử trực tuyến! dressing

Mã nhìn vào:

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

Trong đó được sử dụng:

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

Haystack (2015) : PECANPIE(với dòng mới của 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

Trong đó làm một cái gì đó chức năng:

  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

Tôi xây dựng mỗi PECANPIE chữ in hoa mã ascii cho các chữ in hoa vì chúng đều dưới 100. Sau đó tôi in chúng ra thành các ký tự.


1
Ồ Chưa bao giờ nhìn thấy một polyglot Pyth / Python (tôi đoán các bình luận làm cho nó dễ dàng hơn)
Esolanging Fruit

Bạn có thể loại bỏ một số không gian và có lẽ làm cho nó ngắn hơn ( macaroni and cheesecó thể được xuất ra như macaroniandcheese)
Artyer

@Artyer khoảng trống đã bị xóa
Blue

1
@Artyer đây không phải là không có codegolf
FlipTack

1
Đợi đã, đầu ra GolfScript cornrolls? Điều đó không có trong thực đơn ...
ETHproductions

10

CJam , 05AB1E , Dip , V , 4 ngôn ngữ, 36 34 byte

Lưu 2 byte nhờ @DrMcMoylex!

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

Mã 36 byte gốc:

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

Sau &và trước dđó <ESC>, có 1 byte. Vì vậy, mã với các ký tự có độ rộng bằng không được tiết lộ trông như thế này:

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

Camam

( <ESC>không được hiển thị)

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

Hãy thử trực tuyến! đầu raturkey

05AB1E

( <ESC>không được hiển thị)

"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

Hãy thử trực tuyến! đầu ra:corn

V

( <ESC>được hiển thị)

"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

Hãy thử trực tuyến! xuất ra một dòng mới theo sausalad

Nhúng

( <ESC>không được hiển thị)

"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

Đầu ra gravy

Lưu ý: Bạn không thể chạy python3 dip.pyvà sau đó nhập mã cho điều này do ký tự Escape. Nó xuất hiện như ^[, điều này làm cho trình thông dịch Dip bị lẫn lộn và nó nghĩ rằng đó [là một lệnh và nó dẫn đến một lỗi.

Cách tốt nhất để chạy này là chỉnh sửa tệp nguồn, thay đổi dòng cuối cùng trong dip.py

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

đến

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

Hãy chắc chắn bao gồm các ký tự thoát theo nghĩa đen!. Bây giờ mã như được truyền vào trình thông dịch để nó có thể hiểu nó ( "phải được thoát như \"vậy). Bây giờ nếu bạn chạy nó từ dòng lệnh, nó sẽ diễn giải mã thực tế và đầu ra gravy.


@ETHproductions Tôi không thấy điều đó, dù sao cũng làm việc với nó ...
Kritixi Lithos

@ETHproductions Xong! Bây giờ nó hoạt động trong ba ngôn ngữ!
Kritixi Lithos

Thật tuyệt, thật tuyệt!
Sản xuất ETH

3
+1 cho pop "corn"phần giải thích
FlipTack

Một nitlog và mẹo chơi gôn: nó được gọi là "chế độ bình thường" không phải là chế độ thoát và vì khoảng trắng là không liên quan, bạn có thể đổi ddithànhS
DJMcMayhem

9

MATL / Golfscript / 05AB1E / CJam : 4 ngôn ngữ, 34 33 byte

'TURKEY'%"rolls"#];"corn""bread"s

2
Bất kỳ lý do cụ thể cho việc viết hoa của tUrKEY?
Sản xuất ETH

@Ethproductions Đó là những tuyên bố hợp lệ trong CJam và nó không bị lỗi sớm trong ngôn ngữ đó
Luis Mendo

Trên thực tế nó có thể là tất cả các mũ. Xét cho cùng, gà tây là món ăn quan trọng nhất :-)
Luis Mendo

8

C, sh, Python 3, Nim, Julia, Brainf ** k - 6 ngôn ngữ, 211 209 byte

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

Ngôn ngữ cho các mục menu:

  • Đầu ra C turkey
  • đầu ra sh gravy
  • Đầu ra Python 3 biscuits
  • Đầu ra của Nim rolls
  • Kết quả đầu ra của Julia salad
  • Brainf ** k đầu ra corn

Đã thêm Julia nhờ vào @kvill!


1
Julia có thể chen vào, vì cùng một người phụ nữ. Bạn có thể thả C #include(hoạt động trong gcc). Đổi tên puts printlnở mọi nơi ngoại trừ main(), thêm phần mở bình luận đa hướng của julia #=ở trên a='''và đổi #*/thành # =##*/.
kvill

Bạn có thể chơi gôn này hơn nữa bằng cách xóa exitvà nối dấu ngoặc đơn vào dòng trước ( a=''''). shsẽ đưa ra cảnh báo nhưng điều này được cho phép AFAIU. Và oh, println[T](s:T)=echo"rolls"làm việc cho Nim. Câu trả lời tốt đẹp với tất cả các ngôn ngữ yêu thích của tôi kết hợp!
kvill

7

ferNANDo /> <> / Gol> <> / 05AB1E / 2sable, 5 ngôn ngữ, 178 byte

!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 (phiên bản 2015) , GolfScript , BF, Fission , Minkolang 0,15 , Nghiêm túc , AXO : 14 ngôn ngữ, 381 byte

Đây là câu trả lời hợp tác với BlueEyedBeast

Tôi quyết định thực hiện một cách tiếp cận 2D cho câu hỏi này ... Vâng, có 7 esolang 2D!

Tôi đã lấy cảm hứng cho các ngôn ngữ bổ sung để thêm vào bằng câu trả lời của BlueEyedBeast (Foo, GolfScript)

<ESC>là nhân vật theo nghĩa đen của 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

Befunge-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

Hãy thử trực tuyến! đầu racorn

> <>

Các lệnh được hiển thị theo thứ tự chúng xuất hiện

                                    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

Hãy thử trực tuyến! (Chỉ sao chép và dán)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"

Hãy thử trực tuyến! đầu ra applepie(có thể mất ˜20 giây để chạy)

Con trăn 2

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

Hãy thử trực tuyến! (Chỉ sao chép và dán)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

Hãy thử trực tuyến! đầu rasalad

Gol> <>

Các lệnh được hiển thị theo thứ tự chúng xuất hiện

                                    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

Hãy thử trực tuyến! đầu raturkey

Foo

Foo xuất ra bất cứ điều gì trong dấu ngoặc kép, đó là lý do tại sao tôi đã cẩn thận không sử dụng bất kỳ dấu ngoặc kép nào trong các ngôn ngữ khác. Vì "stuffing"là trong dấu ngoặc kép, nó sẽ được in.

Hãy thử trực tuyến! đầu ra stuffingvà sau đó có một lỗi

Haystack (2015)

Điều này sử dụng trình thông dịch 2015 (không phải 2016) của Haystack vì phiên bản mới hơn không hợp lệ. Thông dịch viên cho điều này là haystack.pykhông haystack_new.py

Các lệnh được hiển thị theo thứ tự chúng xuất hiện

#                                 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

Chương trình này đầu ra

R
O
L
L
S

và một dòng mới sau đầu ra này (hey, khoảng trắng không thành vấn đề!)

GolfScript

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

Hãy thử trực tuyến! đầu rapecanpie

BF

Tôi đã sử dụng https://copy.sh/brainfuck/text.html để chuyển đổi văn bản thành BF. Mặc dù có rất nhiều ,câu lệnh đầu vào, mã BF chạy độc lập với nó.

Hãy thử trực tuyến! đầu ragravy

Phân hạch

Để chương trình phân hạch bắt đầu, một nguyên tử phải được sinh ra. Chúng tôi thấy điều này xảy ra dòng thứ ba:

..."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

Hãy thử trực tuyến! đầu racornbread

Chồnolang 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

Hãy thử trực tuyến! đầu raapplecider

Nghiêm túc

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

Hãy thử trực tuyến! đầu radressing

Axo

(Các lệnh được hiển thị thứ tự họ gặp phải)

#>                                          blah blah
  !                                         rotate direction 90 degrees clockwise

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

Hãy thử trực tuyến! đầu rapumpkinpie


1
Điều này khá tuyệt vời :)
ETHproductions

@ETHproductions Cảm ơn! Tôi đã nỗ lực rất nhiều vào nó :)
Kritixi Lithos

Chỉ cần một chút nitpick: Trong mã befunge lấy 0 từ đỉnh ngăn xếp và đẩy 1. Do đó, nội dung ngăn xếp khi chương trình bắt đầu in là [110 114 111 99 1]. Ký tự cho giá trị ASCII 1 không hiển thị (bắt đầu tiêu đề), do đó, nó không ảnh hưởng trực quan đến kết quả. +1
MildlyMilquetoast

@MistahFiggins Tôi chỉ có thể thay đổi nó thành $,,,,thay vì không xuất ra 1(mà không thay đổi bytecount), nhưng sau đó tôi sẽ phải thay đổi tất cả các permalinks ... :)
Kritixi Lithos 6/12/2016

6

Pushy , Python và Brainfuck

Đây là polyglot đầu tiên của tôi, vì vậy đừng quá khó khăn với tôi ... Đối với những người than vãn về số byte, nó là 77 byte, nhưng điều đó chỉ liên quan đến bộ bẻ khóa.

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

Pushy in 'gà tây' với một dòng mới hàng đầu (cũng như tin nhắn tới 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 in 'gravy' , vì các dòng đầu tiên và cuối cùng được coi là nhận xét.

Brainfuck bỏ qua tất cả các ký tự khác và ngoại trừ những ký tự trên dòng cuối cùng, tạo và in từ 'ngô' .


1
Số byte là gì?
Kritixi Lithos

1
Ngoài ra, bạn có thể sử dụng Python 2 để xóa dấu ngoặc đơn và lưu 2 byte không?
Kritixi Lithos

@KritixiLithos đây không phải là codegolf ....
FlipTack

4
Trong trường hợp hòa, phần ngắn nhất trong số các mục bị ràng buộc theo byte sẽ thắng. Đây không hoàn toàn là tiền mã hóa, nhưng bạn vẫn cần có mã số.
TuxCrafting

2
@ TùxCräftîñg đúng, nhưng dù sao thì điều này cũng không có cơ hội đến với bộ
bẻ khóa

4

Pip , BF , oOo CODE , > <> , Befunge-93 ( triển khai Quirkster ), Ouroboros , /// : 7 ngôn ngữ, 175 byte

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

Đường ống

Dùng thử trực tuyến

Một loạt các biểu thức được loại bỏ âm thầm (hầu hết trong số đó tạo ra các cảnh báo, nếu cảnh báo được bật), với biểu thức "sTufFINg"ở cuối được in.

/ '/ / 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

Dùng thử trực tuyến

Tất cả mọi thứ ngoại trừ >-[--[<]>+>-]<.++++++++++++.+++.----.,,,,là ý kiến. Mã này tạo ra 99(mã ký tự cho c) thông qua phương pháp ngắn nhất niêm yết trên esolangs.org , sau đó sẽ thay đổi nó cho o, rn. Việc ,,,,cố gắng nhập bốn ký tự, nhưng điều đó không ảnh hưởng gì.

oOo MÃ

Tất cả mọi thứ trừ chữ cái đều bị bỏ qua. Nhóm các chữ cái thành ba, các mã đọc như thế này:

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

và dịch sang mã BF này ( thử sử dụng trình dịch Retina của Martin ):

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

đầu rarolls . (Và, thật thú vị, ngắn hơn BF ở trên để xuất ra corn, ngay cả khi ><không có bổ sung để làm cho dòng viết hoa lên chính xác.)

> <>

Chạy> <> mã ở đây

Phần quan trọng của mã:

/
        /ooooo;
>"YVaRg"^

IP được phản ánh lên trên, bao bọc xung quanh và được gửi đi ngay. "YVaRg"đẩy mã ký tự của gRaVY. oooooxuất ra năm chữ cái và ;chấm dứt chương trình.

Befunge-93

Mã phụ thuộc vào hành vi không xác định và có lẽ chỉ hoạt động trong việc thực hiện này .

Phần quan trọng của mã:

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

/là sự phân chia. Stack là rỗng, vì vậy việc thực hiện hoạt Javascript Tôi đang sử dụng phân chia 0bởi 0và push NaN.

'là một nhân vật không được công nhận. Việc triển khai tôi đang sử dụng, một cách thuận tiện, coi các ký tự không được nhận dạng là các lệnh Reflect. (Đối với phiên bản ít phụ thuộc vào triển khai, sẽ có một thay thế có thể 1_.) Vì vậy, IP lại đi bên trái, chia NaNcho 0(nhận NaN) và kết thúc ở đầu kia của dòng.

Bây giờ "yekRut"(di chuyển RTL) đẩy mã ký tự tuRkey,,,,,,xuất chúng. Cuối cùng, @chấm dứt chương trình.

Ouroboros

Hãy thử nó ở đây

Mỗi dòng mã là một "con rắn" thực thi độc lập.

Rắn 1

Vì không có hướng dẫn đầu ra, nên phần quan trọng duy nhất của mã là f(: fđẩy 15(nuốt nhiều ký tự từ cuối con rắn. Mã bây giờ được coi là kết thúc sau .O. Thực hiện tiếp tục cho đến khi kết thúc con rắn và vòng lặp trở lại từ đầu. Mỗi lần đi qua, con rắn lại ngắn dần, cho đến khi cuối cùng (bị nuốt chửng. Vì IP vừa bị ăn, con rắn tạm dừng hành quyết.

Rắn 2

"saLaD"đẩy mã ký tự của nó từ trước đến trước; 1/chia mã số rtheo 1, giữ nguyên và không oooooxuất ra năm ký tự. ;làm rơi một mục (không có op vì ngăn xếp đã trống). 1(nuốt con trỏ lệnh và dừng lại.

Rắn 3

"YVaRg"đẩy một số mã hóa; sau đó (nuốt một số ký tự bằng với đỉnh của ngăn xếp, điều này xảy ra là 89mã ký tự của Y. Ăn 89 ký tự là đủ để nuốt IP và tạm dừng thực thi.

///

Dùng thử trực tuyến bằng cách sử dụng /// triển khai Pip của tôi

/'//xóa tất cả các trích dẫn từ phần còn lại của chương trình (không làm gì cả vì không có gì). Tiếp theo, bisCuItSđầu ra như hiện trạng. Cuối cùng, phần còn lại của mã là một sự thay thế không hoàn chỉnh - chỉ có hai trong số ba dấu gạch chéo cần thiết - vì vậy nó không làm gì cả.


Tôi thích việc lạm dụng quy tắc "trường hợp không quan trọng" để làm cho nó hoạt động trong oOo CODE :-)
ETHproductions

3

Cubix, Pushy, Brainfuck, V, Python 2 - 5 ngôn ngữ, 89 85 byte

Polyglot thứ hai của tôi - không được chơi gôn lắm, nhưng nó hoạt động:

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

(lưu ý đại diện cho byte thoát theo nghĩa đen, x1B)

  • Hình in corn
  • In ấn turkey
  • Bản in Brainfuck ROLLS
  • V in gravy
  • Bản in Python salad

Đàn con

Kiểm tra chương trình trực tuyến!

Cubix là một ngôn ngữ của tác giả thách thức, ETHproductions. Trình thông dịch Cubix đọc mã như thế này:

        " ` 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 . . .
        . . . .
        . . . .

Mã được thực thi như vậy:

  • 'salad - thực hiện một số thao tác XOR không liên quan trên stack, kết quả là 115, 0, 0
  • '#;- ấn charcode của #, sau đó bật lại (no-op)
  • "nroc" - đẩy mã cho "ngô"
  • w - di chuyển IP để lặp trên dòng tiếp theo bên dưới:
    • !@o; - in và bật mục cuối cùng (chấm dứt nếu mục bằng 0)
    • "-[--";;;; - đẩy các ký tự này và xóa chúng (no-op)
    • {{ - không

Tự đề cao

Kiểm tra chương trình trực tuyến!

Pushy là ngôn ngữ của riêng tôi và nó chạy mã như thế này:

"          \ 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

Kiểm tra chương trình trực tuyến!

Brainfuck bỏ qua tất cả các ký tự không có trong danh sách hướng dẫn của nó, dẫn đến:

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

Mà in ROLLS. Lưu ý rằng điều này đòi hỏi một trình thông dịch với các ô được gói, chẳng hạn như một ô được cung cấp.


V (ngôn ngữ Vim)

Kiểm tra chương trình trực tuyến!

V được tạo bởi DJMcMayhem, một trong những người chơi golf hàng đầu của chúng tôi.

V là phiên bản dựa trên chương trình của trình soạn thảo văn bản Vim. Hầu hết các ký tự trước khi ESCđược ghi vào "tệp", nhưng ␛ddgigravyxóa tất cả các ký tự đó và chèn "nước thịt" thay vào đó. Nội dung của tập tin ở cuối chương trình được in.


Con trăn 2

Kiểm tra chương trình trực tuyến!

Python là một trong những ngôn ngữ thực tế yêu thích của tôi. Bởi vì #là một nhận xét trong Python, hầu hết các chương trình bị bỏ qua. Mã được đọc như thế này:

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


Mã khóa nhỏ: 'salad'#thực sự đẩy mã số của s0, 0 và mã số của #, sau đó ;bật và rời khỏi ngăn xếp tại 115,0,0.
Sản phẩm ETH

@ETHproductions vâng, bạn đúng, không ảnh hưởng đến chương trình theo cách thực sự nhưng tôi sẽ sửa chữa mô tả
FlipTack

2

Python / QBasic / Pip , 3 ngôn ngữ, 41 byte

Nhiều ngôn ngữ hơn có thể là TBA.

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

Con trăn

1chỉ là một biểu thức bị loại bỏ. #bắt đầu một bình luận print("turkey")làm những gì nó nói, và "salad"là một biểu hiện khác bị loại bỏ.

QBasic

1#là số dòng (độ chính xác kép). print"corn"làm những gì nó nói. endchấm dứt chương trình. Dòng thứ hai có giá trị cú pháp nhưng không bao giờ được thực hiện.

Đường ống

Hầu hết mọi thứ là những biểu hiện bị loại bỏ. "corn":ecố gắng gán cho một chuỗi ký tự, không thành công trong âm thầm (trừ khi cảnh báo được bật). "salad"là biểu thức cuối cùng trong chương trình và do đó được in.


1

PHP, JavaScript và BrainF * ck, 178 byte

Lần đầu tiên tôi từng thử Polyglot - sẽ không nói dối, tôi ở trên đầu mình ở đây ...

Chơi gôn

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

(Tôi không dám viết một món ăn Lễ Tạ ơn bằng mã HTML và coi đó là ngôn ngữ khác ...)

Giải trình:

Mã cần được lưu vào tệp .php cho các phần PHP và JavaScript.

PHP:

Khi chạy trên máy chủ PHP, phần mã PHP được đọc:

<?php echo "turkey";?>

Kết quả này:

nhập mô tả hình ảnh ở đây

JavaScript:

Bạn có thể gọi A()chức năng JavaScript từ bảng điều khiển trình duyệt:

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

Kết quả này:

nhập mô tả hình ảnh ở đây

Brainf * cK

Phần Brainf * ck được ẩn độc đáo trong các nhận xét trong phần JavaScript, do đó, phần này bị bỏ qua bởi các phần PHP và JavaScript:

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

Khi toàn bộ tệp được dán vào IDE , kết quả này xuất ra:

nhập mô tả hình ảnh ở đây

Tôi không thể thực hiện phần Brainf * ck mà không có trang web chuyển văn bản này sang BF. Ban đầu tôi đã nhận được nó để tạo mã cho "corn" và sau đó trong nỗ lực tìm hiểu điều gì đó về ngôn ngữ điên rồ này, tôi đã chuyển đổi nó thành "gravy" ... hay đúng hơn là "graVY" ...


1

Python, Clojure, Javascript, Ruby: 4 ngôn ngữ, 113 byte

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

Cảm ơn @ Sp3000 cho hầu hết các mã. Đáng ngạc nhiên, tôi thậm chí không phải làm bất cứ điều gì với bản gốc của anh ấy, tôi chỉ phải trả trước mã Ruby.


1

///, SQL và JavaScript

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

Xây dựng tương tự như với polyglot định hướng kỳ nghỉ khác:

///

/*//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

Javascript

/*//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 / Lisp / PicoLisp thông thường, 39 byte

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

Gia đình Lisp đây. '()đánh giá là đúng trong Clojure để nó tiến hành xuất ra một biểu tượng turkey. PicoLisp và Lisp thường đi vào nhánh giả; ""là đúng trong Common Lisp và do đó nó in biểu tượng rolls, chuỗi rỗng là sai trong PicoLisp và do đó, nó chuyển sang cornbiểu tượng in .

Kiểm tra trực tuyến:

https://ideone.com/OD65LB - Clojure

https://ideone.com/M1H5gf - Lisp thường gặp

https://ideone.com/B4x3ns - PicoLisp


0

CJam, Tải trọng,> <>, 39 byte

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

Những gì CJam thấy

  • 'v;: Một ký tự theo nghĩa đen bị loại bỏ ngay lập tức
  • "(Turkey)S";: Một chuỗi ký tự được loại bỏ ngay lập tức
  • "Gravy": Đẩy chuỗi Gravyvào ngăn xếp
  • "\n'nroC'oooo;";: Một chuỗi ký tự được loại bỏ ngay lập tức.

Khi kết thúc thực thi, ngăn xếp là đầu ra, có nghĩa là "Gravy" được in.

Những gì Underload thấy

  • 'v;": Một số lệnh không hợp lệ bị bỏ qua
  • (Turkey)S: Đẩy chuỗi "Thổ Nhĩ Kỳ" và xuất ra chuỗi
  • ";"Gr: Một số lệnh không hợp lệ bị bỏ qua
  • a: Điều này gây ra một segfault trên trình thông dịch TIO do ngăn xếp trống. Thi hành bị chấm dứt.

Những gì> <> thấy

  • 'v;"(Turkey)S";"Gravy""đẩy một loạt các ký tự vào ngăn xếp (được bỏ qua). IP sau đó kết thúc tốt đẹp.
  • v gửi IP xuống dưới.
  • >'nroC'oooo đẩy các ký tự trong chuỗi "Corn" và xuất chúng.
  • ;chấm dứt thực thi. Tất cả các nhân vật khác được bỏ qua.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.