Что вы принесете на День Благодарения?


40

День благодарения в Соединенных Штатах приближается 24 ноября. Многие люди будут обедать со своими семьями, традиционно включая индейку и множество гарниров. Обычно это означает, что члены семьи должны координировать, кто принесет каждое из различных блюд. В этой задаче цель состоит в том, чтобы написать полиглот, который выводит разные блюда на каждом языке, на котором он работает.

Меню

(Выбрано из Википедии . Если это не очевидно, каждая строка представляет собой один элемент.)

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

правила

  • Каждая отправка должна выполняться не менее чем на 3 языках , каждый из которых должен выводить отдельный элемент из меню. Вы не можете использовать несколько версий одного и того же языка (например, Python 2 и Python 3 не могут использоваться в одном и том же ответе).
  • Каждая запись должна иметь одинаковые байты в кодировке каждого языка. Например, ɱэто байт 0x1Dв кодировке Jelly в , что соответствует ¢в кодировке 05AB1E в .
  • Разные языки могут использовать разные методы вывода, но записи должны быть полными программами на всех языках и следовать одному из наших разрешенных методов ввода-вывода по умолчанию .
  • Никакие программы не могут принимать ввод, но любая из программ может печатать в STDERR или генерировать ошибки и предупреждения времени выполнения / компиляции, если правильный вывод все еще печатается в STDOUT или файл.
  • Случай и пробелы не имеют значения. Например, вывод GreenbeAN Sвсе равно будет считаться green beans.
  • Поскольку центральное блюдо каждого 1 американского блюда на День благодарения - индейка, должен выводиться один языкturkey (игнорируя регистр и пробелы).

счет

Представление, которое дает уникальные действительные результаты на большинстве языков, выигрывает. В случае ничьей побеждает самая короткая из связанных записей в байтах.

1. Да, индейка - не единственное основное блюдо , но мы собираемся притвориться, что оно есть.


1
Две связанные задачи: 1 , 2
ETHproductions

Случай и пробелы не имеют значения. Так можем ли мы удалить пробелы? Скажи выходнойcornbread
Луис Мендо

@LuisMendo Yup.
ETHproductions

1
Ну, я ничего не принесу, потому что я не живу в США. XD
Mega Man

1
@ ConorO'Brien Я позволю нулевой символ в качестве пробела. И да, вы можете использовать разные «диалекты» БФ.
ETHproductions

Ответы:


32

Pyke, Pyth, Python 2, Foo, Brain ****, GolfScript, на самом деле, <> <, Gol <> <, серьезно, Befunge, Fission, Haystack, 13 языков, 546 байт

Когда я увидел другой 10 11 12 языковой ответ , мне пришлось добавить еще один два 3. Я также серьезно думаю об отбрасывании Pyth, чтобы сэкономить на байтах. (на данный момент 162 из них)

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

Пайк: Попробуй здесь! rolls

Удалить строку кода:

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

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

Pyth: Попробуй здесь! gravy

Удалить строку кода:

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

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

Все ) это для Pyth, чтобы он компилировался без ошибок при отсутствии ввода.


Python 2: corn

Строка 1 - это целый комментарий

Строка 2 печатает «кукуруза», а затем имеет комментарий

Строка 3 имеет строковый литерал, а затем комментарий

Строка 4 и далее являются комментариями


Foo: попробуйте онлайн! biscuits

Foo выводит все, что заключено в двойные кавычки ( "). В этом случае я старался включать только языки, которые могли бы справляться с другими формами ввода строк (особый случай для Befunge). Если бы после финала был какой-то текст ", он бы тоже был напечатан.


Мозг ****: Попробуйте онлайн! salad

Я скопировал вывод генератора постоянной строки. Мне пришлось убежать от всех .персонажей, .qчтобы он играл с Пифом и w.с Пайком. Я добавил несколько дополнительных -символов, чтобы ячейки попадали в нужные точки перед печатью другого .символа в 3-й строке.


GolfScript: попробуйте онлайн! cornbread

В GolfScript #это комментарий до конца строки.

Что видит интерпретатор GolfScript:

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

В GolfScript по какой-либо причине printберет строку и печатает ее без перевода строки. Достаточно просто breadнапечатать его.


На самом деле: попробуйте онлайн! macandcheese

Соответствующая строка:

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

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

<> <: Копировать + Вставить только turkey Анимация выхода


Gol <> <: Попробуйте онлайн! stuffing

Как <> <кроме `пропуска первого 'и выводит только достаточно символов для печатиstuffing


Серьезно: попробуйте онлайн! macaroniandcheese

Соответствующая строка:

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

Befunge: попробуйте онлайн! sweettea

Код, на который смотрят

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

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

Деление: попробуйте онлайн! dressing

Код смотрел на:

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

Из них используются:

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

Стог сена (2015) : PECANPIE(с ДОПОЛНИТЕЛЬНЫМИ новыми строками!)

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

Из чего делают что-то функциональное:

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

Я строю каждую кодовую точку ascii в верхнем регистре для букв в PECANPIE верхнем регистре, потому что все они меньше 100. Затем я печатаю их все в виде символов.


1
Вот Это Да! Никогда не видел полиглота
Pyth

Вы можете удалить некоторые пробелы и, возможно, сделать их короче ( macaroni and cheeseможно вывести как macaroniandcheese)
Artyer

@Artyer пробелы удалены
Blue

1
@Artyer это не кодекс гольф
FlipTack

1
Подождите, выходы GolfScript cornrolls? Этого не было в меню ...
ETHproductions

10

CJam , 05AB1E , Dip , V , 4 языка, 36 34 байта

2 байта сохранены благодаря @DrMcMoylex!

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

Оригинальный 36-байтовый код:

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

После &и перед dесть <ESC>, что составляет 1 байт. Таким образом, код с раскрытыми символами нулевой ширины выглядит следующим образом:

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

CJam

( <ESC>не показано)

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

Попробуйте онлайн! выходыturkey

05AB1E

( <ESC>не показано)

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

Попробуйте онлайн! выходы:corn

В

( <ESC>показано)

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

Попробуйте онлайн! выводит новую строку с последующимsalad

наклонение

( <ESC>не показано)

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

Выходы gravy

Примечание: Вы не можете запустить, python3 dip.pyа затем ввести код для этого из-за литерала Escape-символа. Это выглядит как ^[, что делает Dip-интерпретатор запутанным, и он думает, что [это команда, и это приводит к ошибке.

Лучший способ выполнить это - отредактировать исходный файл, изменить последнюю строку в dip.py

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

в

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

Не забудьте включить литерал escape-символа !. Теперь код в том виде, как он есть, передается в интерпретатор, чтобы он мог его понять ( "его нужно экранировать \"так). Теперь, если вы запустите его из командной строки, он интерпретирует фактический код и вывод gravy.


@ETHproductions Я этого не видел, все равно работал над этим ...
Kritixi Lithos

@ETHproductions Готово! Теперь это работает на трех языках!
Kritixi Lithos

Круто, приятно!
ETHproductions

3
+1 за pop "corn"объяснение
FlipTack

Ниппик и подсказка для игры в гольф: это называется «нормальный режим», а не режим выхода, а поскольку пробелы не имеют значения, вы можете перейти ddiнаS
DJMcMayhem

9

MATL / Golfscript / 05AB1E / CJam : 4 языка, 34 33 байта

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

2
Любая конкретная причина для капитализации tUrKEY?
ETHproductions

@Ethproductions Это то, что они являются допустимыми утверждениями в CJam, и это не приводит к преждевременным ошибкам на этом языке
Луис Мендо

На самом деле это могут быть все заглавные буквы. В конце концов, индейка - самое важное блюдо :-)
Луис Мендо,

8

C, sh, Python 3, Nim, Julia, Brainf ** k - 6 языков, 211 209 байт

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

Языки для пунктов меню:

  • C выходы turkey
  • ш выходы gravy
  • Выходы Python 3 biscuits
  • Ним выходы rolls
  • Юлия выходы salad
  • Brainf ** k выходов corn

Добавила Джулия благодаря @kvill!


1
Юлию можно втиснуть, за тот же счет. Вы можете бросить C #include(работает в gcc). Переименуйте puts printlnвезде, кроме как в main(), добавьте открыватель многострочных комментариев Джулии #=выше a='''и измените #*/на # =##*/.
квил

Вы можете изменить это дальше, удалив exitи добавив одинарную кавычку к предыдущей строке ( a=''''). shбудет выдавать предупреждения, но это разрешено AFAIU. И println[T](s:T)=echo"rolls"работает на Нима. Хороший ответ со всеми моими любимыми языками вместе взятыми!
квил

7

ferNANDo /> <> / Gol> <> / 05AB1E / 2sable, 5 языков, 178 байт

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

7

Befunge-98 , > <> , V , Python 2, 05AB1E , Gol> <> , Foo , Haystack (версия 2015 года) , GolfScript , BF, Fission , Minkolang 0.15 , серьезно , Axo : 14 языков, 381 байт

Это совместный ответ с BlueEyedBeast

Я решил сделать 2D подход к этому вопросу ... Да, есть 7 2D esolangs!

Я черпал вдохновение в добавлении дополнительных языков ответом BlueEyedBeast (Foo, GolfScript)

<ESC>символьный литерал для Escape .

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

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

Попробуйте онлайн! выходыcorn

> <>

Команды отображаются в порядке их появления

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

Попробуйте онлайн! (Только копирование и вставка) выходыsweettea

В

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

Попробуйте онлайн! выходные данные applepie(для его запуска может потребоваться ~ 20 секунд)

Python 2

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

Попробуйте онлайн! (Только копирование и вставка) выходыbiscuits

05AB1E

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

Попробуйте онлайн! выходыsalad

Gol> <>

Команды отображаются в порядке их появления

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

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

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

Попробуйте онлайн! выходыturkey

Foo

Foo выводит все что угодно в двойных кавычках, поэтому я старался не использовать двойные кавычки на других языках. Поскольку "stuffing"в двойных кавычках, он будет напечатан.

Попробуйте онлайн! выводит, stuffingа затем имеет ошибку

Стог сена (2015)

При этом используется интерпретатор Haystack 2015 (не 2016), поскольку более новая версия недействительна. Переводчик для этого есть, haystack.pyа не haystack_new.py

Команды отображаются в порядке их появления

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

Эта программа выводит

R
O
L
L
S

и символ новой строки после этого вывода (эй, пробел не имеет значения!)

GolfScript

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

Попробуйте онлайн! выходыpecanpie

BF

Я использовал https://copy.sh/brainfuck/text.html для преобразования текста в BF. Хотя существует много ,входных операторов, код BF выполняется независимо от него.

Попробуйте онлайн! выходыgravy

расщепление

Чтобы начать программу деления, должен быть создан атом. Мы видим, что это происходит в третьей строке:

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

Попробуйте онлайн! выходыcornbread

Минколанг v0.15

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

Попробуйте онлайн! выходыapplecider

Шутки в сторону

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

Попробуйте онлайн! выходыdressing

Axo

(Команды показаны в порядке их появления)

#>                                          blah blah
  !                                         rotate direction 90 degrees clockwise

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

Попробуйте онлайн! выходыpumpkinpie


1
Это довольно
круто

@ETHproductions Спасибо! Я вложил много усилий в это :)
Kritixi Lithos

Просто маленький придурок: В коде befunge берет 0 с вершины стека и толкает 1. Поэтому содержимое стека, когда программа начинает печатать, равно [110 114 111 99 1]. Символ для значения ASCII 1 не виден (начало заголовка), поэтому он не влияет на результат визуально. +1
MildlyMilquetoast

@MistahFiggins Я мог бы просто изменить его, чтобы $,,,,вместо него не выводить 1(без изменения байтового счета), но тогда мне пришлось бы изменить все постоянные ссылки ... :)
Kritixi Lithos

6

Напористый , Python и Brainfuck

Это мой первый полиглот, так что не переживай из-за меня ... Для тех, кто скулил по поводу количества байтов, это 77 байтов, но это актуально только для тай-брейка.

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

Напористый печатает «индейку» с ведущей новой строкой (а также с сообщением 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

Питон печатает "соус" , так как первая и последняя строки рассматриваются как комментарии.

Brainfuck игнорирует все остальные символы, кроме тех, которые находятся в последней строке, которые создают и печатают слово «кукуруза» .


1
Что такое количество байтов?
Kritixi Lithos

1
Кроме того, вы не можете использовать Python 2, чтобы удалить скобки и сохранить 2 байта?
Kritixi Lithos

@KritixiLithos, это не Codegolf ....
FlipTack

4
«В случае ничьей побеждает самая короткая из связанных записей в байтах». Это не совсем код-гольф, но вам все еще нужен байт-счет.
TuxCrafting

2
@ TùxCräftîñg верно, но у него все равно нет шансов попасть на тай-брейк
FlipTack

4

Pip , BF , oOo CODE , > <> , Befunge-93 ( реализация Quirkster ), Уроборос , /// : 7 языков, 175 байт

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

зернышко

Попробуйте онлайн

Группа выражений, которые молча отбрасываются (большинство из которых генерируют предупреждения, если предупреждения включены), с выражением "sTufFINg"в конце, которое печатается.

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

BF

Попробуйте онлайн

Все, кроме >-[--[<]>+>-]<.++++++++++++.+++.----.,,,,комментариев. Этот код генерирует 99(код символа для c) по кратчайшему способу , указанному на esolangs.org , затем изменяет его o, rи n. ,,,, Пытается ввода четырех символов, но это ничего не влияет.

ооо код

Все, кроме букв, игнорируется. Сгруппировав буквы в тройки, коды выглядят так:

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

и переводит в этот код BF ( попробуйте его с помощью переводчика Retina Мартина ):

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

какие выводыrolls . (И, что интересно, короче, чем вышеупомянутый BF для вывода corn, даже с>< no-op для правильного выравнивания капитализации.)

> <>

Выполнить> <> код здесь

Важная часть кода:

/
        /ooooo;
>"YVaRg"^

IP отражается вверх, оборачивается и отправляется вправо. "YVaRg"толкает коды символов gRaVY. oooooвыводит пять букв и ;завершает программу.

Befunge-93

Код зависит от неопределенного поведения и, вероятно, работает только в этой реализации .

Важная часть кода:

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

/это разделение. Стек пуст, поэтому реализация JavaScript, которую я использую, делит 0на 0и толкает NaN.

'это непризнанный персонаж Реализация, которую я использую, удобно обрабатывать нераспознанные символы как команды Reflect. (Для менее зависимой от реализации версии возможной заменой будет 1_.) Таким образом, IP снова уходит влево, делится NaNна 0(получаяNaN ) и переносится на другой конец строки.

Теперь "yekRut"(перемещение RTL) выдвигает коды символов tuRkeyи ,,,,,,выводит их. Наконец, @завершает программу.

Уроборос

Попробуй здесь

Каждая строка кода представляет собой «змею», которая выполняется независимо.

Змея 1

Поскольку нет никаких инструкций вывода, единственная важная часть кода f(: fтолкает 15и (глотает столько символов с конца змеи. Код считается оконченным после .O. Казнь продолжается до конца змеи и возвращается к началу. Каждый раз, когда змея становится короче, пока в конце концов (не проглотит. Так как IP только что съели, змея останавливает выполнение.

Змея 2

"saLaD"выдвигает свои коды символов в последнюю очередь; 1/делит код rна 1, оставляя его без изменений, и oooooвыводит пять символов. ;отбрасывает предмет (без операции, потому что стек уже пуст). 1(глотает указатель инструкции и останавливается.

Змея 3

"YVaRg"толкает несколько кодов; затем (глотает количество символов, равное вершине стека, что, как оказалось 89, код символаY . Еды 89 символов достаточно, чтобы проглотить IP и остановить выполнение.

///

Попробуйте онлайн, используя мою реализацию Pip ///

/'//удаляет все одинарные кавычки из остальной части программы (которая ничего не делает, потому что их нет). Далее bisCuItSвыводит как есть. Наконец, остальная часть кода является неполной заменой - есть только два из трех обязательных слешей - поэтому она ничего не делает.


Мне нравится злоупотребление правилом "дело не имеет значения", чтобы заставить его работать в oOo CODE :-)
ETHproductions

3

Cubix, Pushy, Brainfuck, V, Python 2 - 5 языков, 89 85 байтов

Мой второй полиглот - не очень удачный, но он работает:

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

(обратите внимание, что представляет буквальный escape-байт, x1B)

  • Cubix принты corn
  • Напористые принты turkey
  • Брейнфук принты ROLLS
  • V печатает gravy
  • Печатные издания Python salad

Cubix

Протестируйте программу онлайн!

Cubix - это язык автора конкурса, ETHproductions. Интерпретатор Cubix читает код следующим образом:

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

Код выполняется так:

  • 'salad - выполняет некоторые не относящиеся к операции XOR над стеком, приводит к 115, 0, 0
  • '#;- нажмите на код #, затем вставьте его снова (без операции)
  • "nroc" - нажать на коды для "кукурузы"
  • w - перемещает IP для зацикливания на следующую строку ниже:
    • !@o; - распечатать и вытолкнуть последний элемент (завершить, если элемент равен 0)
    • "-[--";;;; - нажмите эти символы и удалите их (без операции)
    • {{ - без операции

Напористый

Протестируйте программу онлайн!

Pushy - мой родной язык, и он запускает такой код:

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

Brainfuck

Протестируйте программу онлайн!

Brainfuck игнорирует все символы, которых нет в списке инструкций, в результате чего:

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

Который печатает ROLLS. Обратите внимание, что для этого требуется интерпретатор с переносящими ячейками, такими как предоставленная.


V (Vim язык)

Протестируйте программу онлайн!

V был создан DJMcMayhem, одним из наших лучших код-гольфистов.

V является программной версией текстового редактора Vim. Большинство символов перед ESCзаписью записывается в «файл», но ␛ddgigravyудаляет все это и вместо этого вставляет «соус». Содержимое файла в конце программы печатается.


Python 2

Протестируйте программу онлайн!

Python - один из моих любимых практических языков. Поскольку #это комментарий в Python, большая часть программы игнорируется. Код читается так:

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


Незначительный придирки: на 'salad'#самом деле толкает код char s, 0, 0 и код char of #, затем ;выскакивает и покидает стек в 115,0,0.
ETHproductions

@ETHproductions да, вы правы, никоим образом не влияет на программу, но я исправлю описание
FlipTack

2

Python / QBasic / Pip , 3 языка, 41 байт

Больше языков возможно TBA.

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

питон

1это просто выражение, которое отбрасывается. #начинает комментарий print("turkey")делает то, что говорит, и "salad"другое выражение, которое отбрасывается.

QBasic

1#это номер строки (двойной точности). print"corn"делает то, что говорит. endзавершает программу Вторая строка синтаксически допустима, но никогда не выполняется.

зернышко

Большинство всего - выражения, которые отбрасываются. "corn":eпытается присвоить литеральной строке, которая молча терпит неудачу (если предупреждения не включены). "salad"является последним выражением в программе и, следовательно, печатается.


1

PHP, JavaScript и BrainF * ck, 178 байт

Впервые я попробовал Полиглот - не собираюсь лгать, я здесь над головой ...

Golfed:

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

(Я не осмелился написать еду на День Благодарения в HTML-коде и посчитать это другим языком ...)

Объяснение:

Код должен быть сохранен в файл .php для частей PHP и JavaScript.

PHP:

При запуске на PHP-сервере PHP-часть кода читается:

<?php echo "turkey";?>

Это выводит:

введите описание изображения здесь

JavaScript:

Вы можете вызвать A()функцию JavaScript из консоли браузера:

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

Это выводит:

введите описание изображения здесь

Brainf * ск

Часть Brainf * ck хорошо спрятана в комментариях в разделе JavaScript, поэтому она игнорируется частями PHP и JavaScript:

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

Когда весь файл вставляется в IDE , выводится:

введите описание изображения здесь

Я не смог бы сделать часть Brainf * ck без этого сайта text-to-BF. Первоначально я получил его для генерации кода для «кукурузы», а затем, пытаясь что-то узнать об этом сумасшедшем языке, я преобразовал его в «соус» ... или, скорее, «GraVY» ...


1

Python, Clojure, Javascript, Ruby: 4 языка, 113 байтов

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

Спасибо @ Sp3000 за большую часть кода. Удивительно, но мне даже не пришлось ничего делать с его оригиналом, мне просто нужно было добавить код на Ruby.


1

///, SQL и JavaScript

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

Та же конструкция, что и у другого полиглота, ориентированного на отдых:

///

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

SQL

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

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 / Common Lisp / PicoLisp, 39 байт

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

Семья Лисп здесь. '()возвращает значение true в Clojure, поэтому он переходит к выводу символа turkey. PicoLisp и Common Lisp переходят в ложную ветвь; ""верно в Common Lisp и поэтому печатает символrolls , пустая строка - false в PicoLisp, поэтому он переходит к печати cornсимвола.

Проверьте это онлайн:

https://ideone.com/OD65LB - Clojure

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

https://ideone.com/B4x3ns - PicoLisp


0

CJam, недогруз,> <>, 39 байт

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

Что видит CJam

  • 'v;: Символьный литерал, который немедленно отбрасывается
  • "(Turkey)S";: Строковый литерал, который немедленно отбрасывается
  • "Gravy": Толкает строку Gravy в стек
  • "\n'nroC'oooo;";: Строковый литерал, который немедленно отбрасывается.

В конце выполнения стек выводится, что означает, что печатается «Соус».

Что видит Underload

  • 'v;": Некоторые неверные команды, которые игнорируются
  • (Turkey)S: Толкает строку "Турция" и выводит ее
  • ";"Gr: Некоторые неверные команды, которые игнорируются
  • a: Это вызывает segfault на интерпретаторе TIO, так как стек пуст. Исполнение прекращено.

Что> <> видит

  • 'v;"(Turkey)S";"Gravy""выталкивает кучу символов в стек (которые игнорируются). IP тогда оборачивается.
  • v отправляет IP вниз.
  • >'nroC'oooo толкает символы в строку «Кукуруза» и выводит их.
  • ;прекращает выполнение. Все остальные символы игнорируются.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.