Для этого гольфа вам нужно будет использовать более одного языка.
Задание
Машина Руба Голдберга это штуковина , которая принимает огромное количество сложных шагов для того , чтобы выполнить очень простую задачу. Целью этого гольфа является вывод Rube Goldberg
... но не напрямую.
Машина
Ваша «машина» - это исходный код, который после выполнения даст другой исходный код на другом языке, который будет выводиться Rube Goldberg
при выполнении. Понял?
Я перефразирую: ваш исходный код должен давать другой код, который должен выводить другой код Rube Goldberg
. Оба кода должны быть написаны на разных языках.
Бонус, который больше похож на единственный интересный способ сделать это
Есть бонус, если ваш код выводит код, который будет выводить код, который будет ... который будет выводить Rube Goldberg
.
ПРИМЕЧАНИЕ: можно использовать любой вид вывода (stdout, stderr, диалоговое окно, ...)
Точки
Число точек равно количеству байтов , используемых в коде, деленной на число различных , дополнительных языков , которые вы использовали.
ПРИМЕЧАНИЕ: разные языки используют разные кодировки. Количество байтов подсчитывается в исходном языке с его собственной кодировкой.
Примеры
Pyth -> J -> Javascript -> output
в 30 байтов = 30/2 = 15 баллов (J и Javascript - дополнительные языки)Java -> C# -> C++ -> PHP -> output
в 36 байтах = 36/3 = 12 баллов (больше байтов и больше языков могут выиграть при меньшем количестве байтов и меньшем количестве языков (я знаю, что эти языки не могут сделать это в 36 байтах))C -> output
в 10 байтах = 10/0 = бесконечность точек (без дополнительных языков)Python -> Perl -> Ruby -> Python -> Ruby
в 44 байтах = 44/2 = 22 балла (Perl и Ruby являются дополнительными языками, второй Python не считается, поскольку он не является дополнительным языком, второй Ruby не считается, как это уже было)
ПРИМЕЧАНИЕ. Языки, которые выводят свои данные, не могут быть использованы. Это был бы дополнительный язык без дополнительного байта.
Ответ
Пожалуйста, предоставьте ответ, в котором четко указано, какие языки вы использовали, и покажите нам код каждого шага (т. Е. На каждом языке).
Победитель
Конечно, как обычно, выигрывает самый низкий балл.
ПРИМЕЧАНИЕ: как обычно, стандартные лазейки и «читы» не допускаются.
источник
Ответы:
33 языка, 40 байтов, 1,25 балла
Используется тот факт, что многие языки используют один и тот же синтаксис печати, что приводит к экспоненциально длинному, но сжимаемому исходному коду.
Постоянные ссылки (не полностью, будет обновлено)
источник
BATCH
другое бесплатноecho
.Foo → gs2 → M → Желе → Сетчатка → Aeolbonn → Par → Фактически → Спектры → sed → Универсальная лямбда → Линии → /// → m4 : 19/13 ≈ 1.4615 баллов
Все ответы приведены на кодовой странице желе . ¶ представляет новую строку.
Механизм
РЕДАКТИРОВАТЬ: Ой, была ошибка в программе Pyth. Я заменил Pyth и GolfScript на Par.
РЕДАКТИРОВАТЬ 2: Добавлен GNU m4.
РЕДАКТИРОВАТЬ 3: Добавлено Foo и M.
источник
gs2 -> Jelly
только удаляет один байт .../
в конец, если это не мешает другим языкам).Джольф -> На самом деле -> Желе -> Пиф -> Сетчатка -> /// -> Сценарий гольфа: 15/6 = 2,5 балла
5,4 балла благодаря Мартину Эндеру.
0,1 балла благодаря Cᴏɴᴏʀ O'Bʀɪᴇɴ.
Примечание: у Actual и Jelly есть своя собственная кодовая страница, поэтому они могут передаваться побайтово, но не в онлайн-версиях.
Jolf
Фактически
Попробуйте онлайн!
Желе
Попробуйте онлайн!
Pyth
Попробуйте онлайн!
Сетчатка
Попробуйте онлайн!
///
Попробуйте онлайн!
Golfscript
Попробуйте онлайн!
источник
Python -> Пакетная обработка -> Javascript -> Java -> PHP -> C ++ -> Foo -> Brainfuck 31. (142857) баллов
питон
партия
JavaScript
Ява
PHP
C ++
Foo
Brainfuck
источник
-----------
ты не мог сделать"+"-"*11+"
?JS -> Cobol -> Python -> IBM 360 BAL
261 байт / 4 языка = 65,25 балла
Стремился использовать сложные языки, с большим количеством запутывания. Javascript преобразует строку из base64 в Cobol, который производит Python, который декодирует код BAL из hex.
Javascript
Кобол
питон
IBM 360 BAL
Выход
источник
Rude Goldberg
, а неRUBE GOLDBERG
.IndentationError
и не запустится.MATL -> CJam -> 05AB1E -> Golfscript
21/218/222/3Спасибо за Мартина за 3 скидки!
выполнен в MATL дает
который в CJam дает
который в 05AB1E дает
который в Golfscript дает
источник
g'
вg
. Таким образом, ваш счет будет 7 вместо 22/3 .Java-> Thue-> Javascript-> Batch-> Microscript II-> Brainf ***, 236/5 = 47,2
Созданная программа Thue:
Сгенерированная программа Javascript:
Сгенерированная пакетная программа:
Созданная программа Microscript II:
Созданная программа Brainf ***:
источник
Reng ->> <> -> Vitsy, 32/2 = 16 баллов
Я хотел делать только 2D языки - в одну строку!
объяснение
источник
push that string backwards
".Perl -> JavaScript (ES6) -> Пакетная обработка -> sh, 39/3 = 13 баллов
Perl
JavaScript (ES6)
партия
ш
источник
<?="print 'alert`@echo echo Rube Goldberg`'";
. Если я не ошибаюсь, это будет 11,25 балла.print 'alert`@echo echo Rube Goldberg`'
работает и в PHP.print
.<?php
часть, чтобы действовать как квайн, я думаю./// -> PowerShell -> CJam -> Foo -> BASH, 24 байта / 4 = 6
Когда выполняется в /// дает
который при исполнении в PowerShell дает
который при исполнении в CJam дает
который при исполнении в Foo дает
который при исполнении в BASH дает
источник
Javascript -> PHP -> Foo 14 баллов
Javascript:
PHP:
Foo:
источник
APL → J → K, 21 байт / 2 → 10,5
'''"Rube Goldberg"'''
на Dyalog APL дает,
'"Rube Goldberg"'
который в J дает,
"Rube Goldberg"
который в K дает
Rube Goldberg
Если мы допустим еще более близкие языки, мы можем получить гораздо больше.
источник
/// -> K -> J -> SX -> Golfscript -> Pyke -> Lua -> Moonscript -> C -> Pyth -> Python -> BrainF *** -> Bash -> Ruby -> Zsh, 554b / 16 = 34,625
///
К
J
SX
Golfscript
Пайк
Perl
Lua
Moonscript
С
Pyth
Python 2
BrainF ***
удар
Рубин
Zsh
Очевидно, я мог бы добавить много эхо, но похоже, что это скопировало бы ответ Денниса.
источник
Python → Ruby → Bash, счет: 35/2 = 17,5
когда выполняется в Python, дает
с
\"
S сбежал. Далее этот исполненный Ruby даети, наконец, выполнение этого в Bash дает
которая является ожидаемой строкой.
источник
C → JS → Shell → > <> : 68/3 = 22,67
С
Javascript
Ракушка
> <>
Результат:
как требуется.
источник
console.log`echo '"Rube Goldberg"ar!;ooooooo|'`
?console.log([`echo '"Rube Goldberg"ar!;ooooooo|'`])
) согласно спецификации.Спректы → /// → itflabtijtslwi → Python 2 = 6
Sprects
///
itflabtijtslwi
Python 2
Pyth
Выход
источник
Python -> Ruby -> Bash -> JS -> /// -> m4, оценка: 54/5 = 10,8
Я получил трюк /// и m4 из ответа https://codegolf.stackexchange.com/a/83627/53416
источник
dc -> Fortran -> Basic -> Vim, 59/3 = 19. (6) баллов
Этим ответом я хотел внести свой вклад в разнообразие языков, уже используемых в других ответах.
Округ Колумбия:
Fortran:
Основные:
Vim:
Окончательный вывод:
источник