Apa yang akan Anda bawa untuk Thanksgiving?

40

Thanksgiving di Amerika Serikat akan diadakan pada tanggal 24 November. Banyak orang akan makan malam besar bersama keluarga mereka, secara tradisional termasuk kalkun dan banyak lauk pauk. Ini biasanya berarti anggota keluarga harus mengoordinasikan siapa yang akan membawa masing-masing aneka hidangan. Dalam tantangan ini, tujuannya adalah untuk menulis polyglot yang menghasilkan hidangan berbeda di setiap bahasa yang digunakan.

Menu

(Dipilih dari Wikipedia . Jika tidak jelas, setiap baris adalah satu item.)

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

Aturan

  • Setiap pengiriman harus berjalan dalam setidaknya 3 bahasa , yang masing-masing harus menampilkan item yang berbeda dari menu. Anda tidak dapat menggunakan beberapa versi dari bahasa yang sama (mis. Python 2 dan Python 3 tidak dapat digunakan dalam jawaban yang sama).
  • Setiap entri harus memiliki byte yang sama di setiap bahasa pengkodean. Misalnya, ɱbyte 0x1Ddalam pengkodean Jelly , yang sesuai dengan pengkodean¢ di 05AB1E .
  • Bahasa yang berbeda mungkin menggunakan metode keluaran yang berbeda, tetapi entri harus merupakan program lengkap dalam semua bahasa , dan ikuti salah satu metode IO standar yang diizinkan .
  • Tidak ada program yang dapat mengambil input, tetapi program mana pun dapat mencetak ke STDERR atau melempar kesalahan waktu runtime / kompilasi dan peringatan selama output yang benar masih dicetak ke STDOUT atau file.
  • Kasus dan spasi putih tidak masalah. Misalnya, output dari GreenbeAN Smasih akan dihitung sebagai green beans.
  • Karena hidangan utama dari setiap jamuan 1 Thanksgiving Amerika adalah kalkun, satu bahasa harus ditampilkanturkey (mengabaikan kasing dan spasi putih).

Mencetak gol

Kiriman yang menghasilkan keluaran unik dan valid dalam sebagian besar bahasa akan menang. Dalam kasus seri, entri terpendek dalam byte terikat menang.

1. Ya, kalkun bukan satu-satunya hidangan utama , tapi kita akan berpura-pura.

Produksi ETH
sumber
1
Dua tantangan terkait: 1 , 2
ETHproduk
Case dan spasi putih tidak masalah Jadi bisakah kita menghapus spasi putih? Katakan outputcornbread
Luis Mendo
@LuisMendo Yup.
ETHproduksi
1
Yah, saya tidak akan membawa apa-apa, karena saya tidak tinggal di AS. XD
Mega Man
1
@ ConorO'Brien Saya akan mengizinkan char null sebagai spasi. Dan ya, Anda dapat menggunakan "dialek" BF yang berbeda.
ETHproduk

Jawaban:

32

Pyke, Pyth, Python 2, Foo, Brain ****, GolfScript, Sebenarnya, <> <, Gol <> <, Serius, Befunge, Fission, Haystack, 13 bahasa, 546 byte

Ketika saya melihat yang lain 10 11 jawaban bahasa 12 , aku harus menambahkan tambahan satu dua 3. Saya juga serius mempertimbangkan menjatuhkan Pyth jika hanya untuk menghemat byte. (Saat ini 162 dari mereka)

#\ 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: Coba di sini! rolls

Lepaskan baris kode:

#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: Coba di sini! gravy

Lepaskan baris kode:

#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

Semua )adalah untuk Pyth untuk membuatnya mengkompilasi tanpa kesalahan tanpa input.


Python 2: corn

Baris 1 adalah seluruh komentar

Baris 2 mencetak "jagung" dan kemudian memberikan komentar

Baris 3 memiliki string literal dan kemudian komentar

Baris 4 dan seterusnya adalah komentar


Foo: Cobalah Online! biscuits

Foo mencetak semua yang terlampir dalam tanda kutip ganda ( "). Dalam hal ini saya berhati-hati untuk hanya memasukkan bahasa yang dapat mengatasi bentuk input string lainnya (Kasus khusus untuk Befunge). Jika ada teks setelah final ", itu akan dicetak juga.


Otak ****: Cobalah Online! salad

Saya menyalin output dari generator string konstan. Saya harus melarikan diri semua .karakter dengan .qsehingga akan bermain dengan Pyth dan w.itu akan bermain dengan Pyke. Saya menambahkan beberapa -karakter tambahan sehingga sel-sel akan sampai ke titik yang tepat sebelum mencetak pada .karakter lain di baris ke-3


GolfScript: Cobalah Online! cornbread

Dalam GolfScript, #adalah komentar hingga akhir baris.

Apa yang dilihat oleh penerjemah GolfScript:

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

Dalam GolfScript, untuk alasan apa pun, printmengambil string dan mencetaknya tanpa baris baru. Hanya memiliki breadcukup untuk mencetaknya juga.


Sebenarnya: Coba Online! macandcheese

Baris yang relevan:

'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

<> <: Salin + Tempel saja turkey Animasi output


Gol <> <: Cobalah Online! stuffing

Sebagai <> <kecuali `melompati karakter pertama 'dan hanya menghasilkan cukup karakter untuk dicetakstuffing


Serius: Cobalah Online! macaroniandcheese

Baris yang relevan:

'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: Cobalah Online! sweettea

Kode yang dilihat

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

Fission: Cobalah Online! dressing

Kode memandang:

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

Dari yang digunakan:

;!+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(dengan baris baru 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

Yang melakukan sesuatu yang fungsional:

  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

Saya membangun setiap huruf besar ascii codepoint untuk huruf PECANPIE dalam huruf besar karena semuanya di bawah 100. Saya kemudian mencetak semuanya sebagai karakter.

Biru
sumber
1
Wow! Pernah melihat polyglot Pyth / Python (saya kira komentar membuatnya lebih mudah)
Esolanging Fruit
Anda dapat menghapus beberapa spasi dan mungkin membuatnya lebih pendek ( macaroni and cheesebisa berupa keluaran sebagai macaroniandcheese)
Artyer
@Artyer spasi dihapus
Biru
1
@Artyer ini bukan codegolf
FlipTack
1
Tunggu, keluaran GolfScript cornrolls? Itu tidak ada dalam menu ...
ETHproduksi
10

CJam , 05AB1E , Dip , V , 4 bahasa, 36 34 byte

2 byte disimpan berkat @DrMcMoylex!

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

Kode 36 byte asli:

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

Setelah &dan sebelum dada <ESC>, yaitu 1 byte. Jadi kode dengan karakter nol-lebar yang terungkap terlihat seperti ini:

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

CJam

( <ESC>tidak ditampilkan)

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

Cobalah online! outputturkey

05AB1E

( <ESC>tidak ditampilkan)

"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

Cobalah online! output:corn

V

( <ESC>ditunjukkan)

"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

Cobalah online! menampilkan baris baru diikuti olehsalad

Menukik

( <ESC>tidak ditampilkan)

"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

Keluaran gravy

Catatan: Anda tidak dapat menjalankan python3 dip.pydan kemudian mengetik kode untuk ini karena literal karakter Escape. Tampaknya ^[, yang membuat penerjemah Dip bingung dan berpikir itu [adalah perintah, dan itu menghasilkan kesalahan.

Cara terbaik untuk menjalankan ini adalah dengan mengedit file sumber, ubah baris terakhir di dip.py

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

untuk

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

Pastikan untuk memasukkan karakter pelarian literal !. Sekarang kode seperti itu dilewatkan ke interpreter sehingga dapat memahaminya ( "harus diloloskan seperti \"itu). Sekarang jika Anda menjalankannya dari command-line, itu mengartikan kode aktual dan output gravy.

Kritixi Lithos
sumber
@ ETHproductions Saya tidak melihat itu,
lagipula
@ETHproductions Selesai! Sekarang ini berfungsi dalam tiga bahasa!
Kritixi Lithos
Keren, bagus!
ETHproduk
3
+1 untuk pop "corn"dalam penjelasannya
FlipTack
Sebuah nitpick dan tip golf: ini disebut "mode normal" bukan mode melarikan diri, dan karena spasi putih tidak relevan, Anda dapat mengubah ddikeS
DJMcMayhem
9

MATL / Golfscript / 05AB1E / CJam : 4 bahasa, 34 33 byte

'TURKEY'%"rolls"#];"corn""bread"s
Luis Mendo
sumber
2
Ada alasan khusus untuk kapitalisasi tUrKEY?
ETHproduksi
@Ethproductions itu sehingga mereka pernyataan berlaku di CJam dan tidak error keluar prematur dalam bahasa itu
Luis Mendo
Sebenarnya bisa jadi semua topi. Bagaimanapun, kalkun adalah hidangan yang paling penting :-)
Luis Mendo
8

C, sh, Python 3, Nim, Julia, Brainf ** k - 6 bahasa, 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")

Bahasa ke item menu:

  • Output C turkey
  • output sh gravy
  • Output Python 3 biscuits
  • Output nim rolls
  • Keluaran Julia salad
  • Brainf ** k keluaran corn

Menambahkan Julia berkat @kvill!

Tembaga
sumber
1
Julia mungkin diperas, untuk bytecount yang sama. Anda dapat menjatuhkan C #include(berfungsi gcc). Ganti nama di puts printlnmana-mana kecuali di main(), tambahkan pembuka komentar multiline julia di #=atas a='''dan ubah #*/menjadi # =##*/.
kvill
Anda dapat golf ini lebih jauh dengan menghapus exitdan bergabung dengan kutipan tunggal ke baris sebelumnya ( a=''''). shakan mengeluarkan peringatan tetapi ini diizinkan AFAIU. Dan oh, println[T](s:T)=echo"rolls"bekerja untuk Nim. Jawaban yang bagus dengan gabungan semua bahasa favorit saya!
kvill
7

ferNANDo /> <> / Gol> <> / 05AB1E / 2sable, 5 bahasa, 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"
akrolit
sumber
7

Befunge-98 , > <> , V , Python 2, 05AB1E , Gol> <> , Foo , Haystack (versi 2015) , GolfScript , BF, Fission , Minkolang 0.15 , Serius , Axo : 14 bahasa, 381 byte

Ini adalah jawaban kolaboratif dengan BlueEyedBeast

Saya memutuskan untuk melakukan pendekatan 2D untuk pertanyaan ini ... Ya, ada 7 esolang 2D!

Saya telah mengambil inspirasi untuk bahasa tambahan untuk ditambahkan oleh jawaban BlueEyedBeast (Foo, GolfScript)

<ESC>adalah karakter literal untuk 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

Cobalah online! outputcorn

> <>

Perintah ditampilkan dalam urutan muncul

                                    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

Cobalah online! (Salin dan Tempel saja) keluaransweettea

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"

Cobalah online! output applepie(mungkin perlu waktu ˜20 detik untuk menjalankannya)

Python 2

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

Cobalah online! (Salin dan Tempel saja) keluaranbiscuits

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

Cobalah online! outputsalad

Gol> <>

Perintah ditampilkan dalam urutan muncul

                                    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

Cobalah online! outputturkey

Foo

Foo mengeluarkan apa pun dalam tanda kutip ganda, itulah sebabnya saya berhati-hati untuk tidak menggunakan tanda kutip ganda dalam bahasa lain. Karena "stuffing"dalam tanda kutip ganda, itu akan dicetak.

Cobalah online! output stuffingdan kemudian memiliki kesalahan

Haystack (2015)

Ini menggunakan penerjemah Haystack 2015 (bukan 2016) karena versi yang lebih baru tidak valid. Penerjemah untuk ini adalah haystack.pydan tidak haystack_new.py

Perintah ditampilkan dalam urutan muncul

#                                 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

Output program ini

R
O
L
L
S

dan baris baru setelah output ini (hei, spasi tidak masalah!)

GolfScript

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

Cobalah online! outputpecanpie

BF

Saya menggunakan https://copy.sh/brainfuck/text.html untuk mengubah teks menjadi BF. Meskipun ada banyak ,pernyataan input, kode BF berjalan secara independen.

Cobalah online! outputgravy

Pembelahan

Untuk memulai program Fisi, sebuah atom harus ditelurkan. Kami melihat ini terjadi pada baris ketiga:

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

Cobalah online! outputcornbread

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

Cobalah online! outputapplecider

Serius

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

Cobalah online! outputdressing

Axo

(Perintah diperlihatkan urutan yang ditemui)

#>                                          blah blah
  !                                         rotate direction 90 degrees clockwise

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

Cobalah online! outputpumpkinpie

Kritixi Lithos
sumber
1
Ini cukup mengagumkan :)
ETHproduksi
@ ETHproduksi Terima kasih! Saya berusaha keras untuk melakukannya :)
Kritixi Lithos
Hanya sedikit nitpick: the! Dalam kode befunge, ambil 0 dari atas tumpukan dan tekan 1. Oleh karena itu, isi tumpukan saat program mulai mencetak adalah [110 114 111 99 1]. Karakter untuk ASCII nilai 1 tidak terlihat (mulai dari judul), sehingga tidak secara visual mempengaruhi hasilnya. +1
MildlyMilquetoast
@MistahFiggins Saya bisa mengubahnya menjadi $,,,,bukan untuk tidak menghasilkan 1(tanpa mengubah bytecount), tapi kemudian saya harus mengubah semua permalinks ... :)
Kritixi Lithos
6

Pushy , Python dan Brainfuck

Ini adalah polyglot pertama saya, jadi jangan terlalu keras pada saya ... Bagi mereka yang mengeluh tentang jumlah byte, itu 77 byte, tapi itu hanya relevan untuk tiebreak.

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

Pushy mencetak 'turkey' dengan baris baru terkemuka (serta pesan ke 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 mencetak 'gravy' , sebagai baris pertama dan terakhir diperlakukan sebagai komentar.

Brainfuck mengabaikan semua karakter lain dan kecuali karakter yang ada di baris terakhir, yang membuat dan mencetak kata 'jagung' .

FlipTack
sumber
1
Berapa jumlah byte?
Kritixi Lithos
1
Juga, tidak bisakah Anda menggunakan Python 2 untuk menghapus tanda kurung dan menyimpan 2 byte?
Kritixi Lithos
@KritixiLithos ini bukan codegolf ....
FlipTack
4
"Dalam kasus seri, entri terpendek dalam byte yang diikat menang." Ini bukan sepenuhnya codegolf, tetapi Anda masih membutuhkan bytecount.
TuxCrafting
2
@ TùxCräftîñg benar, tetapi ini tidak memiliki kesempatan untuk sampai ke tiebreaker
FlipTack
4

Pip , BF , oOo CODE , > <> , Befunge-93 ( Implementasi quirkster ), Ouroboros , /// : 7 bahasa, 175 byte

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

Pip

Cobalah online

Banyak ekspresi yang dibuang secara diam-diam (sebagian besar menghasilkan peringatan, jika peringatan diaktifkan), dengan ekspresi "sTufFINg"di bagian akhir yang akan dicetak.

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

Cobalah online

Semuanya kecuali >-[--[<]>+>-]<.++++++++++++.+++.----.,,,,komentar. Kode ini menghasilkan 99(kode karakter untuk c) melalui metode terpendek terdaftar di esolangs.org , kemudian memodifikasi untuk o, r, dan n. The ,,,,mencoba untuk memasukkan empat karakter, tapi itu tidak berpengaruh apa-apa.

KODE OOo

Semuanya kecuali huruf diabaikan. Mengelompokkan huruf menjadi tiga, kode berbunyi seperti ini:

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

dan terjemahkan ke kode BF ini ( coba gunakan penerjemah Martin Retina ):

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

outputrolls yang mana . (Dan, yang cukup menarik, lebih pendek dari BF di atas untuk menghasilkan corn, bahkan dengan ><no-op ditambahkan untuk membuat garis kapitalisasi sesuai dengan benar.)

> <>

Jalankan> <> kode di sini

Bagian penting dari kode:

/
        /ooooo;
>"YVaRg"^

IP akan tercermin ke atas, membungkus, dan dikirim ke kanan. "YVaRg"mendorong kode karakter gRaVY. ooooomengeluarkan lima huruf dan ;mengakhiri program.

Befunge-93

Kode tergantung pada perilaku yang tidak terdefinisi dan mungkin hanya berfungsi dalam implementasi ini .

Bagian penting dari kode:

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

/adalah pembagian. Tumpukan kosong, jadi implementasi JavaScript yang saya gunakan membagi 0dengan 0dan mendorong NaN.

'adalah karakter yang tidak dikenal. Implementasi yang saya gunakan, dengan mudah, memperlakukan karakter yang tidak dikenal sebagai perintah Reflect. (Untuk versi yang tidak terlalu tergantung pada implementasi, satu penggantian yang mungkin adalah 1_.) Jadi IP pergi lagi, dibagi NaNdengan 0(mendapatkan NaN), dan membungkus ke ujung lain dari garis.

Sekarang "yekRut"(memindahkan RTL) mendorong kode karakter tuRkeydan ,,,,,,mengeluarkannya. Akhirnya, @menghentikan program.

Ouroboros

Coba di sini

Setiap baris kode adalah "ular" yang dieksekusi secara independen.

Ular 1

Karena tidak ada instruksi output, satu-satunya bagian penting dari kode adalah f(: fmendorong 15dan (menelan banyak karakter dari ujung ular. Kode sekarang dianggap berakhir setelah .O. Eksekusi berlanjut sampai akhir ular dan loop kembali ke awal. Setiap kali lewat, ular semakin pendek, sampai akhirnya (ditelan. Karena IP baru saja dimakan, ular menghentikan eksekusi.

Ular 2

"saLaD"mendorong kode karakternya terakhir-ke-pertama; 1/membagi karakter rdengan 1, membiarkannya tidak berubah, dan ooooomenghasilkan lima karakter. ;menjatuhkan item (no-op karena tumpukan sudah kosong). 1(menelan penunjuk instruksi dan berhenti.

Ular 3

"YVaRg"mendorong beberapa kode; kemudian (menelan sejumlah karakter yang sama dengan bagian atas tumpukan, yang kebetulan merupakan 89kode karakter Y. Makan 89 karakter sudah cukup untuk menelan IP dan menghentikan eksekusi.

///

Cobalah online menggunakan implementasi Pip saya ///

/'//menghapus semua tanda kutip tunggal dari sisa program (yang tidak melakukan apa-apa karena tidak ada). Selanjutnya, bisCuItSoutput apa adanya. Akhirnya, sisa kode adalah pengganti yang tidak lengkap - hanya ada dua dari tiga garis miring yang diperlukan - jadi tidak ada artinya.

DLosc
sumber
Saya suka penyalahgunaan aturan "kasus tidak masalah" untuk membuatnya bekerja di oOo KODE :-)
ETHproduksi
3

Cubix, Pushy, Brainfuck, V, Python 2 - 5 bahasa, 89 85 byte

Poliglot kedua saya - tidak terlalu golf, tetapi berfungsi:

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

(catatan yang mewakili byte pelarian literal, x1B)

  • Cetakan Cubix corn
  • Cetakan yang memaksa turkey
  • Cetakan Brainfuck ROLLS
  • V mencetak gravy
  • Cetakan python salad

Cubix

Uji program secara online!

Cubix adalah bahasa oleh penulis tantangan, ETHproductions. Cubix Interpreter membaca kode seperti ini:

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

Kode dijalankan seperti:

  • 'salad - Melakukan beberapa operasi XOR yang tidak relevan pada stack, menghasilkan 115, 0, 0
  • '#;- dorong kode sandi #, lalu pop lagi (no-op)
  • "nroc" - dorong kode untuk "jagung"
  • w - Memindahkan IP ke loop pada baris berikutnya di bawah ini:
    • !@o; - cetak dan pop item terakhir (akhiri jika item 0)
    • "-[--";;;; - dorong karakter ini dan hapus (tidak ada op)
    • {{ - tidak ada op

Ambisius

Uji program secara online!

Pushy adalah bahasa saya sendiri, dan menjalankan kode seperti ini:

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

Uji program secara online!

Brainfuck mengabaikan semua karakter yang tidak ada dalam daftar instruksinya, menghasilkan:

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

Yang dicetak ROLLS. Perhatikan bahwa ini membutuhkan juru bahasa dengan sel pembungkus, seperti sel yang disediakan.


V (Bahasa Vim)

Uji program secara online!

V dibuat oleh DJMcMayhem, salah satu pegolf kode teratas kami.

V adalah versi editor teks berbasis program Vim. Sebagian besar karakter sebelum ESCditulis ke dalam "file", tetapi ␛ddgigravymenghapus semua itu dan memasukkan "saus" sebagai gantinya. Konten file di akhir program dicetak.


Python 2

Uji program secara online!

Python adalah salah satu bahasa praktis favorit saya. Karena #merupakan komentar dalam Python, sebagian besar program diabaikan. Kode dibaca seperti ini:

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

FlipTack
sumber
Minor nitpick: 'salad'#sebenarnya mendorong charcode dari s, 0, 0, dan charcode dari #, lalu ;muncul dan meninggalkan tumpukan 115,0,0.
ETHproduk
@ ETHproductions ya, Anda benar, tidak memengaruhi program dengan cara yang benar-benar baik tetapi saya akan memperbaiki deskripsi
FlipTack
2

Python / QBasic / Pip , 3 bahasa, 41 byte

Lebih banyak bahasa mungkin TBA.

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

Python

1hanyalah sebuah ekspresi yang dibuang. #memulai komentar. print("turkey")melakukan apa yang dikatakannya, dan "salad"merupakan ekspresi lain yang dibuang.

QBasic

1#adalah nomor baris (presisi ganda). print"corn"melakukan apa yang dikatakannya. endmengakhiri program. Baris kedua secara sintaksis valid tetapi tidak pernah dieksekusi.

Pip

Kebanyakan semuanya adalah ekspresi yang dibuang. "corn":emencoba untuk menetapkan string literal, yang gagal diam-diam (kecuali peringatan diaktifkan). "salad"adalah ekspresi terakhir dalam program dan karenanya dicetak.

DLosc
sumber
1

PHP, JavaScript, dan BrainF * ck, 178 Bytes

Pertama kali saya mencoba Polyglot - tidak akan berbohong, saya berada di atas kepala saya di sini ...

Golf:

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

(Saya tidak berani menulis makanan Thanksgiving dalam kode HTML dan menganggapnya sebagai bahasa lain ...)

Penjelasan:

Kode harus disimpan ke dalam file .php untuk bagian PHP dan JavaScript.

PHP:

Ketika dijalankan pada server PHP, bagian kode PHP dibaca:

<?php echo "turkey";?>

Output ini:

masukkan deskripsi gambar di sini

JavaScript:

Anda dapat memanggil A()fungsi JavaScript dari konsol browser:

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

Output ini:

masukkan deskripsi gambar di sini

Brainf * cK

Bagian Brainf * ck disembunyikan dengan baik di komentar di bagian JavaScript, sehingga diabaikan oleh bagian PHP dan JavaScript:

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

Ketika seluruh file disisipkan ke dalam IDE , ini menghasilkan:

masukkan deskripsi gambar di sini

Saya tidak bisa melakukan Brainf * bagian ck tanpa ini situs text-to-BF. Saya awalnya mendapatkannya untuk menghasilkan kode untuk "jagung" dan kemudian dalam upaya untuk belajar sesuatu tentang bahasa gila ini, saya mengubahnya menjadi "saus" ... atau lebih tepatnya "graVY" ...

Pete Arden
sumber
1

Python, Clojure, Javascript, Ruby: 4 bahasa, 113 byte

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

Terima kasih kepada @ Sp3000 untuk sebagian besar kode. Anehnya, saya bahkan tidak perlu melakukan apa pun dengan aslinya, saya hanya perlu menambahkan kode Ruby.

clismique
sumber
1

///, SQL dan JavaScript

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

Konstruksi yang sama dengan polyglot berorientasi liburan lainnya:

///

/*//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'
steenbergh
sumber
0

Clojure / Common Lisp / PicoLisp, 39 byte

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

Gila keluarga di sini. '()mengevaluasi ke true di Clojure sehingga mulai menghasilkan simbol turkey. PicoLisp dan Common Lisp masuk ke cabang palsu; ""benar dalam Common Lisp dan dengan demikian mencetak simbol rolls, string kosong adalah salah dalam PicoLisp dan begitulah yang terjadi pada cornsimbol pencetakan .

Periksa secara online:

https://ideone.com/OD65LB - Clojure

https://ideone.com/M1H5gf - Common Lisp

https://ideone.com/B4x3ns - PicoLisp

cliffroot
sumber
0

CJam, Underload,> <>, 39 byte

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

Apa yang dilihat CJam

  • 'v;: Karakter literal yang segera dibuang
  • "(Turkey)S";: String literal yang segera dibuang
  • "Gravy": Dorong string Gravyke tumpukan
  • "\n'nroC'oooo;";: String literal yang segera dibuang.

Pada akhir eksekusi, stack adalah output, yang berarti bahwa "Gravy" dicetak.

Apa yang dilihat Underload

  • 'v;": Beberapa perintah tidak valid yang diabaikan
  • (Turkey)S: Menekan string "Turki" dan mengeluarkannya
  • ";"Gr: Beberapa perintah tidak valid yang diabaikan
  • a: Ini menyebabkan segfault pada penerjemah TIO karena tumpukan kosong. Eksekusi dihentikan.

Apa> <> lihat

  • 'v;"(Turkey)S";"Gravy""mendorong sekelompok karakter ke tumpukan (yang diabaikan). IP kemudian membungkus kembali.
  • v mengirim IP ke bawah.
  • >'nroC'oooo mendorong karakter dalam string "Corn" dan mengeluarkannya.
  • ;mengakhiri eksekusi. Semua karakter lain diabaikan.
Buah Esolanging
sumber