Şükran Günü için ne getireceksin?


40

Amerika Birleşik Devletleri'nde Şükran günü 24 Kasım'da geliyor. Birçok insan, geleneksel olarak hindi ve birçok garnitür de dahil olmak üzere aileleriyle birlikte büyük bir akşam yemeği yiyecektir. Bu, tipik olarak, aile üyelerinin, çeşitli yemekleri bir araya getireceklerini koordine etmesi gerektiği anlamına gelir. Bu mücadelede amaç, içinde çalıştığı her dilde farklı bir yemek çıkaran çokgenli bir yazı yazmaktır .

Menü

( Vikipedi seçili . Açık değilse, her satır bir öğedir.)

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

kurallar

  • Her gönderim , her biri menüden farklı bir öğe çıkarması gereken en az 3 dilde çalıştırılmalıdır . Aynı dilin birden fazla sürümünü kullanamazsınız (örn. Python 2 ve Python 3 aynı cevapta kullanılamaz).
  • Her giriş, her dilin kodlamasında aynı byte'a sahip olmalıdır. Örneğin, ɱbayt olduğunu 0x1Diçinde Jelly kodlama tekabül ¢içinde 05AB1E kodlamasından .
  • Farklı diller farklı çıkış yöntemleri kullanabilir, ancak girişler tüm dillerde tam programlar olmalı ve varsayılan izin verilen IO yöntemlerimizden birini izlemelidir .
  • Hiçbir program girdi alamaz, ancak programlardan biri STDERR'ye yazdırabilir veya doğru çıktı hala STDOUT'a veya bir dosyaya yazdırıldığı sürece çalışma zamanı / derleme zamanı hataları ve uyarıları atabilir.
  • Kasa ve boşluk önemli değil. Örneğin, bir çıktı GreenbeAN Syine de sayılır green beans.
  • Her 1 Amerikan Şükran Günü yemeğinin ana yemeği hindi olduğundan, bir dilinturkey çıkması gerekir (vakayı ve beyaz alanı yok sayarak).

puanlama

Çoğu dilde benzersiz geçerli çıktılar üreten gönderim kazanır. Beraberlik durumunda, bağlı girişlerin en az bayt cinsinden kazanması gerekir.

1. Evet, türkiye tek ana yemek değil , ama öyleymiş gibi yapacağız.


1
İki ilgili zorluk: 1 , 2
ETHproductions 19:16

Dava ve boşluk hiç önemli değil Peki boşluk alanını kaldırabilir miyiz ? Çıktı cornbread
demek

@LuisMendo Yup.
ETHProductions, 19:16

1
Şey, hiçbir şey getirmeyeceğim çünkü ABD'de yaşamıyorum. XD
Mega Man

1
@ ConorO'Brien Boş karakterin boşluk olarak kullanmasına izin vereceğim. Ve evet, BF'nin farklı "lehçelerini" kullanabilirsiniz.
ETHproductions

Yanıtlar:


32

Pyke, Pyth, Python 2, Foo, Brain ****, GolfScript, Aslında, <> <, Gol <> <, Cidden, Befunge, Fission, Haystack, 13 dil, 546 bayt

Diğer 10 11 12 dil cevabını gördüğümde , iki tane fazladan bir tane daha eklemek zorunda kaldım. 3. Yalnızca baytlardan tasarruf etmek için Pyth'i bırakmayı da düşünüyorum. (şu anda 162 tanesi)

#\ 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: Burada dene! rolls

İlgili kod satırı:

#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: Burada dene! gravy

İlgili kod satırı:

#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

Bütün )bunlar Pyth'in hiçbir girişte hata yapmadan derlemesini sağlamak içindir.


Python 2: corn

1. satır tam bir yorumdur

Satır 2 "mısır" basar ve daha sonra yorum yapar

Satır 3 bir dize değişmezine sahiptir ve sonra

Satır 4'ten itibaren yorumlar


Foo: Çevrimiçi Deneyin! biscuits

Foo, çift tırnak içine alınmış herhangi bir şeyi basar ( "). Bu durumda sadece diğer dize giriş biçimleriyle başa çıkabilen dilleri eklemeye dikkat ettim (Befunge için özel durum). Finalden sonra herhangi bir metin "olsaydı, bu da basılırdı.


Beyin ****: Çevrimiçi Deneyin! salad

Sabit dize üretecinin çıktısını kopyaladım. Tüm .karakterlerden kaçmak zorunda kaldım , .qböylece Pyth ile oynayabilecekti ve w.böylece Pyke ile oynayabilecekti. Fazladan bazı -karakterler ekledim, böylece hücreler .3. satırdaki başka bir karaktere basmadan önce doğru noktalara ulaşabilirler.


GolfScript: Çevrimiçi Deneyin! cornbread

GolfScript'te #satırın sonuna kadar bir yorum.

GolfScript yorumlayıcısı ne görür:

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

GolfScript'te, hangi nedenle olursa olsun, printbir dize alır ve yeni bir satır olmadan yazdırır. Sadece breadbaskı almak için yeterli.


Aslında: Çevrimiçi Deneyin! macandcheese

İlgili satır:

'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

<> <: Yalnızca Kopyala + Yapıştır turkey Çıktının animasyonu


Gol <> <: Çevrimiçi Deneyin! stuffing

<> < `Hariç, ilk önce atlar 've yalnızca yazdırılacak kadar karakter basar.stuffing


Cidden: Çevrimiçi Deneyin! macaroniandcheese

İlgili satır:

'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: Çevrimiçi Deneyin! sweettea

Bakılan kod

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

Fisyon: Çevrimiçi Deneyin! dressing

Kod baktı:

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

Bunların kullanıldığı:

;!+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(EXTRA yeni hatları ile!)

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

Bunlardan işlevsel bir şeyler yapın:

  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

Her büyük harf ascii kod noktasını PECANPIE büyük harfler içindeki harfler için yapıyorum çünkü hepsi 100'ün altında. Bunları karakter olarak basıyorum.


1
Vaov! Pythhon / Python polyglot'ı hiç görmedim (Yorumlarınızı kolaylaştırıyor sanırım)
Esolanging Fruit

Bazı boşlukları kaldırın ve muhtemelen daha kısa (yapabilir macaroni and cheeseolabilir çıktı olarak macaroniandcheese)
Artyer

@ Artyer boşlukları kaldırıldı
Mavi,

1
@ Artyer bu kodgolf değil
FlipTack

1
Bekle, GolfScript çıktı cornrolls? Menüde değildi ...
ETHproductions 21:16

10

CJam , 05AB1E , Dip , V , 4 dil, 36 34 bayt

@DrMcMoylex sayesinde 2 bayt kaydedildi!

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

Orijinal 36 bayt kodu:

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

Sonra &ve daha önce dbir orada <ESC>1 bayt olan. Böylece sıfır genişlikli karakterlerin gösterdiği kod şöyle görünür:

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

CJam

( <ESC>gösterilmiyor)

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

Çevrimiçi deneyin! çıktılarturkey

05AB1E

( <ESC>gösterilmiyor)

"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

Çevrimiçi deneyin! çıktılar:corn

V

( <ESC>gösterilir)

"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

Çevrimiçi deneyin! ardından yeni bir satır çıktılarsalad

daldırma

( <ESC>gösterilmiyor)

"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

çıktılar gravy

Not: python3 dip.pyEscape karakteri değişmezliği nedeniyle koşamaz ve bunun için kod yazamazsınız. Öyle görünüyor ^[karıştı tercüman Dip yapar ve onu düşünüyor ki, [bir komut olduğunu ve bir hata ile sonuçlanır.

Bunu çalıştırmanın en iyi yolu kaynak dosyayı düzenlemektir, satırdaki son satırı değiştirin. dip.py

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

için

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

Kaçış karakterini içerdiğinden emin olun! Şimdi kod, yorumlayıcıya geçirilir, böylece onu anlayabilir (bunun "gibi kaçması \"gerekir). Şimdi onu komut satırından çalıştırırsanız, gerçek kodu yorumlar ve çıktılar gravy.


@ETHproductions Görmedim, zaten, üzerinde çalışan ...
Kritixi Lithos 19:16

@ETHproductions Yapıldı! Şimdi üç dilde çalışıyor!
Kritixi Lithos

Güzel, güzel olan!
ETHProductions,

3
+1 pop "corn"açıklamada
FlipTack

Bir nitpick ve golf ipucu: denir "normal mod" modunu kaçamaz ve boşluk alakasız olduğu için, değiştirmek olabilir ddiiçinS
DJMcMayhem

9

MATL / Golfscript / 05AB1E / CJam : 4 dil, 34 33 bayt

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

2
Büyük harf kullanımı için herhangi bir özel sebep var tUrKEYmı?
ETHProductions

@Etproductions Bu yüzden onlar CJam geçerli ifadeler ve bu dilde erken hata değil
Luis Mendo

Aslında hepsi büyük harf olabilir. Sonuçta, türkiye en önemli yemek :-)
Luis Mendo

8

C, sh, Python 3, Nim, Julia, Brainf ** k - 6 dil, 211 209 bayt

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

Menü öğelerine diller:

  • C çıkışları turkey
  • sh çıkışları gravy
  • Python 3 çıkışı biscuits
  • Nim çıkışları rolls
  • Julia çıktılar salad
  • Brainf ** k çıkışları corn

Julia eklendi @kvill!


1
Julia aynı bytecount için sıkmak mümkündür. C'yi bırakabilirsiniz #include(çalışır gcc). Rename puts printlndışında her yerde main()julia'in satırlı yorum açıcı ekleyebilir, #=yukarıda a='''ve değişim #*/için # =##*/.
kvill

Bunu exittek bir alıntıyı önceki satırına ( a='''') kaldırarak ve birleştirerek daha da golf oynayabilirsiniz . shuyarılar yayınlayacak ancak buna AFAIU izin verilir. Ve oh, println[T](s:T)=echo"rolls"Nim için çalışıyor. En sevdiğim dilleri birleştiren güzel cevap!
kvill

7

ferNANDo /> <> / Gol> <> / 05AB1E / 2sable, 5 dil, 178 bayt

!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 Sürümü) , GolfScript , BF, Fission , Minkolang 0.15 , Cidden , Axo : 14 dil, 381 bayt

Bu işbirlikçi bir cevap. BlueEyedBeast

Bu soruya 2B yaklaşım yapmaya karar verdim ... Evet, var 7 2B eşanlamlı var!

BlueEyedBeast'in cevabını (Foo, GolfScript) eklemek için ek dillerden ilham aldım.

<ESC>Escape için hazır olan karakterdir .

#>!>\'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

Çevrimiçi deneyin!çıktılarcorn

> <>

Komutlar göründükleri sırayla gösterilir.

                                    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

Çevrimiçi deneyin!(Yalnızca Kopyala ve Yapıştır) çıktıları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"

Çevrimiçi deneyin!çıkışlar applepie(çalışması için ˜20 saniye sürebilir)

Python 2

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

Çevrimiçi deneyin!(Yalnızca Kopyala ve Yapıştır) çıktıları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

Çevrimiçi deneyin!çıktılarsalad

Göl> <>

Komutlar göründükleri sırayla gösterilir.

                                    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

Çevrimiçi deneyin! çıktılarturkey

varsayılan değer

Foo her şeyi çift tırnak biçiminde verir, bu yüzden diğer dillerde çift tırnak kullanmamaya özen gösterdim. Yana "stuffing"çift tırnak, bu basılacaktır.

Çevrimiçi deneyin! çıktılarstuffing ve sonra bir hata oluştu

Samanlık (2015)

Bu yeni sürüm geçersiz olduğundan Haystack'ın 2015 (2016 değil) tercümanını kullanır. Bunun için tercüman olduğunu haystack.pyve değil haystack_new.py

Komutlar göründükleri sırayla gösterilir.

#                                 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

Bu program çıktıları

R
O
L
L
S

ve bu çıktıdan sonra yeni bir satır (hey, boşluk önemli değil!)

GolfScript

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

Çevrimiçi deneyin! çıktılarpecanpie

BF

Kullandığım https://copy.sh/brainfuck/text.html BF metin dönüştürmek. Çok sayıda ,giriş ifadesi olmasına rağmen , BF kodu bundan bağımsız olarak çalışır.

Çevrimiçi deneyin! çıktılargravy

fizyon

Bir Fisyon programının başlaması için bir atomun doğması gerekir. Bunu üçüncü satırda görüyoruz:

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

Çevrimiçi deneyin! çıktılarcornbread

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

Çevrimiçi deneyin! çıktılarapplecider

Ciddi anlamda

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

Çevrimiçi deneyin! çıktılardressing

Axo

(Komutlar karşılaştıkları sırayla gösterilir)

#>                                          blah blah
  !                                         rotate direction 90 degrees clockwise

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

Çevrimiçi deneyin! çıktılarpumpkinpie


1
Bu oldukça harika :)
ETHproductions

@ETHproductions Teşekkürler! Bunun için çok çaba sarf ediyorum :)
Kritixi Lithos

Sadece küçük bir nitpick: the! Befunge kodunda istifin üstünden 0 alır ve 1 iter. Bu nedenle, program yazdırmaya başladığında istif içeriği [110 114 111 99 1]. ASCII değer 1 karakteri görünmez (başlığın başlangıcı), bu nedenle sonucu görsel olarak etkilemez. +1
MildlyMilquetoast

@MistahFiggins Sadece (bytecount değiştirmeden) $,,,,çıktısını almak yerine 1değiştirebilirdim, ama sonra tüm permalinkleri değiştirmek zorunda kalacağım ... :)
Kritixi Lithos

6

Pushy , Python ve Brainfuck

Bu benim ilk poliglotum, bu yüzden benim için çok zorlama ... Bayt sayısı hakkında sızlananlar için, 77 bayt, ama bu sadece hırsızlık yapanlar için geçerli.

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

Pushy, 'hindi'yi' yeni bir hat ile (ve bir mesajla birlikte STDERR) yazdırır :

"        % 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 'sos' yazdırır , ilk ve son satırlar yorum olarak kabul edildi.

Brainfuck, 'mısır' kelimesini yaratan ve basan son satırdakiler hariç diğer tüm karakterleri yok sayar .


1
Bayt sayısı nedir?
Kritixi Lithos 20:16

1
Ayrıca, parantezi kaldırmak ve 2 bayt kaydetmek için Python 2'yi kullanamaz mısınız?
Kritixi Lithos

@KritixiLithos bu codegolf değil ....
FlipTack 20:16

4
“Bir beraberlik durumunda, bayt cinsinden bağlı girdilerin en kısası kazanır.” Tamamen kodlayıcı değil, ama yine de bayrata ihtiyacın var.
TuxCrafting 20:16

2
@ TùxCräftîñg doğru, ama bunun yine de
başkana yaklaşma

4

Pip , BF , oODE KOD , > <> , Befunge-93 ( Quirkster uygulaması), Ouroboros , /// : 7 dil, 175 bayt

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

bip

Çevrimiçi deneyin

Sessizce atılan (çoğu, uyarılar etkinse uyarılar üreten), "sTufFINg"sonunda ifadenin yazdırıldığı şekilde ifade edilen bir demet ifadesi .

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

Çevrimiçi deneyin

Dışında her şey >-[--[<]>+>-]<.++++++++++++.+++.----.,,,,yorum. Bu kod oluşturur 99(karakter kodu clistelenen kısa yöntemiyle) esolangs.org sonra, bunu değiştirir o, rve n. ,,,,Girdi dört karakter çalışır, ama bunun bir etkilemez.

o KODU

Harfler dışındaki her şey göz ardı edilir. Harfleri üçlü halinde gruplayan kodlar şu şekildedir:

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

ve bu BF koduna çevirir ( Martin's Retina tercümanını kullanarak deneyin ):

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

hangi çıktılarrolls . (Ve, ilginç bir şekilde, çıktı almak için yukarıdaki BF'den daha kısa corn,>< şekilde, büyük harflerin doğru şekilde sıralanmasını sağlamak için eklenen no-op .)

> <>

Burada> <> kodunu çalıştırın

Kodun önemli kısmı:

/
        /ooooo;
>"YVaRg"^

IP yukarı doğru yansır, etrafına sarılır ve doğru gönderilir. "YVaRg"karakter kodlarını iter gRaVY. oooooBeş harf ;çıkarır ve programı sonlandırır.

Befunge-93

Kod tanımsız davranışa bağlıdır ve muhtemelen sadece bu uygulamada işe yarar .

Kodun önemli kısmı:

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

/bölünmedir. Ben Farklılıkların kullanıyorum JavaScript uygulaması böylece yığın, boş 0tarafından 0ve iter NaN.

'Tanınmayan bir karakter. Kullandığım uygulama rahatlıkla tanınmayan karakterleri Reflect komutları gibi ele alır. (Daha az uygulama bağımlı sürümü için, olası bir yedek olurdu 1_.) IP sol tekrar gider Yani, bölme işlemlerini NaNtarafından 0(almaNaN hattın diğer ucuna) ve tamamladı.

Şimdi "yekRut"(hareketli RTL) karakter kodlarını zorlar tuRkeyve ,,,,,,çıktılar. Sonunda @programı sonlandırır.

Ouroboros

Burada dene

Kodun her satırı bağımsız olarak çalışan bir "yılan" dır.

Yılan 1

Çıktı talimatı olmadığından, kodun tek önemli kısmı f(: Yılanın sonundan itibaren birçok karakteri fiter 15ve (yutar. Kodun bundan sonra biteceği kabul edilir .O. İnfaz yılanın sonuna kadar devam eder ve tekrar başa döner. Her seferinde yılan, sonunda (yutulana kadar kısalır . IP yenildiğinden beri, yılan idam işlemini durdurur.

Yılan 2

"saLaD"karakter kodlarını baştan sona iter; 1/böler ve charCode rtarafından 1, değiştirmeden bırakarak ve ooooobeş karakter çıkışları. ;bir öğeyi bırakır (yığın zaten boş olduğu için çalışmaz). 1(talimat göstergesini yutar ve durur.

Yılan 3

"YVaRg"bazı kodları zorlar; daha sonra , karakter kodunun olduğu (gibi 89, yığının üstüne eşit sayıda karakter yutar Y. IP'yi yutmak ve yürütmeyi durdurmak için 89 karakter yemek yeterlidir.

///

Pip uygulamamı /// kullanarak çevrimiçi deneyin

/'//Tüm tek tırnak işaretleri programın geri kalanından siler (ki bu hiçbiri olmadığı için hiçbir şey yapmaz). Daha sonra, bisCuItSolduğu gibi çıktılar. Son olarak, kodun geri kalanı eksik bir ikamedir - üç zorunlu eğik çizgiden yalnızca ikisi vardır - bu nedenle hiçbir şey yapmaz.


"KODU
KABUL ETMEMEK

3

Cubix, Pushy, Brainfuck, V, Python 2 - 5 dil, 89 85 bayt

Benim ikinci polyglot - çok golf değil, ama işe yarıyor:

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

( değişmez çıkış baytını temsil eden not , x1B)

  • Cubix baskılar corn
  • Pushy baskılar turkey
  • Brainfuck baskılar ROLLS
  • V baskılar gravy
  • Python baskılar salad

Cubix

Programı çevrimiçi olarak test edin!

Cubix, sorunlu yazar ETHproductions'un dilidir. Cubix Tercüman kodu şöyle okur:

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

Kod şöyle yürütülür:

  • 'salad - Yığın üzerindeki alakasız XOR işlemlerini yapar, sonuç 115, 0, 0
  • '#;- kodunu itin #, sonra tekrar açın (no-op)
  • "nroc" - "mısır" için kodları itin
  • w - IP'yi aşağıdaki sonraki satırda dönmeye taşır:
    • !@o; - son öğeyi yazdır ve aç (öğe 0 ise sonlandır)
    • "-[--";;;; - bu karakterleri itin ve silin (hayır)
    • {{ - hayır

Saldırgan

Programı çevrimiçi olarak test edin!

Zorlu benim kendi dilim ve bu kodu şöyle çalıştırıyor:

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

Programı çevrimiçi olarak test edin!

Brainfuck, talimat listesinde bulunmayan tüm karakterleri yok sayar ve sonuçta:

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

Hangi yazdırır ROLLS. Bunun, sağlananlar gibi sarma hücreleri olan bir tercüman gerektirdiğini unutmayın.


V (Vim dili)

Programı çevrimiçi olarak test edin!

V, en iyi kod golfçülerimizden biri olan DJMcMayhem tarafından yaratıldı.

V, Vim metin editörünün program tabanlı bir sürümüdür. Getirilmeden önce çoğu karakter ESC"dosyaya" yazılır, ancak ␛ddgigravyhepsini siler ve bunun yerine "sos" ekler. Programın sonunda dosyanın içeriği yazdırılır.


Python 2

Programı çevrimiçi olarak test edin!

Python en sevdiğim pratik dillerden biri. #Python'da bir yorum olduğundan , programın çoğu göz ardı edilir. Kod şöyle okunur:

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


Minor nitpick: 'salad'#aslında s, 0, 0, ve kodunu basar #, sonra ;yığını açar ve bırakır 115,0,0.
ETHProductions

@ETHproductions evet, haklısın, programı gerçekten etkilemez ama açıklamayı düzelteceğim
FlipTack

2

Python / QBasic / Pip , 3 dil, 41 bayt

Daha fazla dil muhtemelen TBA.

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

piton

1sadece atılan bir ifadedir. #bir yorum başlatır. print("turkey")söylediklerini yapar ve "salad"atılan başka bir ifadedir.

QBasic

1#(çift duyarlıklı) bir satır numarasıdır. print"corn"ne diyorsa onu yapıyor.endprogramı sonlandırır. İkinci satır, sözdizimsel olarak geçerlidir ancak hiçbir zaman yürütülmez.

bip

Her şey, atılan ifadelerdir. "corn":esessizce başarısız olan bir yazı dizisine atamaya çalışır (uyarılar etkin değilse). "salad"programdaki son ifadedir ve bu nedenle basılır.


1

PHP, JavaScript ve BrainF * ck, 178 Bayt

İlk defa bir Polyglot denedim - yalan söylemeyeceğim, burada başımın üstündeyim ...

golfed:

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

(HTML kodunda bir Şükran Günü yemeği yazmaya cesaret edemedim ve bunu başka bir dil olarak saydım ...)

Açıklama:

Kodun PHP ve JavaScript bölümleri için bir .php dosyasına kaydedilmesi gerekir.

PHP:

Bir PHP sunucusunda çalıştırıldığında, kodun PHP kısmı okunur:

<?php echo "turkey";?>

Bu çıktılar:

görüntü tanımını buraya girin

JavaScript:

JavaScript A()işlevini tarayıcı konsolundan çağırabilirsiniz :

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

Bu çıktılar:

görüntü tanımını buraya girin

Brainf * cK

Brainf * ck kısmı, JavaScript bölümündeki yorumlarda gizlidir, bu nedenle PHP ve JavaScript bölümleri tarafından dikkate alınmaz:

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

Tüm dosya bir IDE'ye yapıştırıldığında , bu çıktı:

görüntü tanımını buraya girin

Bu metin BF web sitesi olmadan Brainf * ck bölümünü yapamazdım . Başlangıçta "mısır" kodunu ürettim ve daha sonra bu çılgın dil hakkında bir şeyler öğrenmeye çalıştığımda, onu "sos" ya da daha çok "graVY" ye dönüştürdüm ...


1

Python, Clojure, Javascript, Ruby: 4 dil, 113 bayt

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

Kodun çoğu için @ Sp3000'e teşekkür ederiz. Şaşırtıcı bir şekilde, orijinaline hiçbir şey yapmak zorunda değildim, sadece Ruby kodunu hazırlamak zorunda kaldım.


1

///, SQL ve JavaScript

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

Diğer tatil odaklı polyglot ile aynı yapı:

///

/*//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 / Ortak Lisp / PicoLisp, 39 bayt

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

Lisp ailesi burada. '()Clojure'da true olarak değerlendirir, böylece bir sembol çıktısına geçer turkey. PicoLisp ve Common Lisp sahte şubeye gider; ""Common Lisp'te doğrudur ve bu nedenle simgesi basar rolls, PicoLisp'te boş dize yanlıştır ve bu nedenle baskı cornsembolüne gider .

Çevrimiçi kontrol edin:

https://ideone.com/OD65LB - Clojure

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

https://ideone.com/B4x3ns - PicoLisp


0

CJam, Düşük,> <>, 39 bayt

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

CJam ne görür

  • 'v;: Hemen atılan bir karakter hazır bilgisi
  • "(Turkey)S";: Hemen atılan bir dize değişmezi
  • "Gravy": Dizeyi iter Gravy yığına
  • "\n'nroC'oooo;";: Hemen atılan bir dize değişmezi.

Yürütme sonunda, yığın çıkar, yani "Gravy" yazdırılır.

Düşük yük ne görüyor

  • 'v;": Yok sayılan bazı geçersiz komutlar
  • (Turkey)S: "Turkey" dizesini basar ve çıkarır
  • ";"Gr: Yok sayılan bazı geçersiz komutlar
  • a: Bu, yığın boş olduğundan TIO yorumlayıcısında segfault'a neden olur. Yürütme sonlandırıldı.

Ne> <> görür

  • 'v;"(Turkey)S";"Gravy""(yoksayılan) yığına bir dizi karakteri iter. IP daha sonra geri sarılır.
  • v IP'yi aşağı doğru gönderir.
  • >'nroC'oooo "Corn" dizesindeki karakterleri iter ve çıkarır.
  • ;yürütmeyi sonlandırır. Diğer tüm karakterler göz ardı edilir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.