Ваша цель в этом коде гольф состоит в том, чтобы взять две строки, language
и code
(если код для игры в гольф, который вы написали для этого, является многострочным, то эта переменная будет многострочным.) И одно целое число bytes
. Они представляют переменные для языка программирования, количество байт, которые он принимает, и сам код.
После этого вы будете форматировать его так, как это делает гольфист кода.
Выходная переменная называется многострочной строкой answer
.
Вы можете использовать многострочные строки на:
Если вы будете искать переполнение стека , вы сможете найти больше языков программирования, которые его поддерживают.
Вот шаблон выходной уценки. code
Переменная в блоке кода, и есть заголовок второго уровня.
## {language}, {bytes} bytes
{code}
Вот как будет выглядеть вывод при вставке в анализатор Markdown.
{язык}, {байт} байт
{code}
Предполагается, что переменные будут заполнены уже в качестве языка, на котором вы закодировали свой код для ввода в гольф, количества байтов, которое оно занимает, и фактического кода для него.
Вот еще один пример вывода в виде кода, на этот раз с заполненными переменными:
## JavaScript, 1337 bytes
document.getElementById("foo").innerHTML = bar;
Вот версия в виде цитаты:
JavaScript, 1337 байт
document.getElementById("foo").innerHTML = bar;
Байты могут быть извлечены из вашего кода, если вы используете способ установить текст <p>
элемента в HTML с помощью идентификатора result
, например, следующий код JavaScript:
document.getElementById("result").innerHTML = answer;
Не забудьте также включить <p id="result"></p>
в раздел HTML JSFiddle, чтобы это работало.
счет
Как и все код-гольф вопросы, код , который использует наименьшее количество байт является лучшим.
источник
{code}
когда-нибудь многострочный код?language
,bytes
и наcode
входе , или это Куайн варианта , где эти вещи должны соответствовать самому коду Решая. (И если да, то разрешено ли прямое или косвенное чтение этого исходного кода и разрешены ли встроенные функции quine.)code
содержать строки?code
что не будет многострочным или нет? Пожалуйста, укажите, что в тексте задачиОтветы:
05AB1E , 21 байт
Код:
Использует кодировку CP-1252 . Попробуйте онлайн! ,
источник
Java, 70 байт
Предполагается, что
b[0]
это имя языка,b[1]
количество байтов иb[2]
код.Его компиляция стоит 9 байт, что приводит к созданию автономной программы размером 79 байт:
Эквивалентная монолитная программа имеет длину 103 байта:
Монолитный работает с аргументами командной строки, предполагая, что они как автономная программа:
Java (лямбда-выражение),
5648 байтовЭто
java.util.function.Function<String[], String>
.Ни одна из этих программ / функций не обрабатывает многострочные строки. Чтобы сделать это, просто заменить
b[2]
иA[2]
сb[2].replace("\n","\n ")
иA[2].replace("\n","\n ")
- делать это добавляет 23 байта.источник
\t
или что-то, чтобы заменить 4 пробела после двух новых строк?\t
а не 4 пробела?b->
.V , 24 байта
Обратите внимание, что в конце есть пробел.
Эта программа делает предположение, что{code}
не будет нескольких строк.Op уточнил, «код» может быть многострочной строкой. Эта 24-байтовая версия работает:
Поскольку это содержит непечатаемый символ, вот читаемая версия:
Где
<esc>
буквальный escape-символ, например0x1B
.источник
Python 3.5,
4033 байта:( -7 байт благодаря некоторым разъяснениям от Мего )
Анонимная лямбда-функция, которая принимает входные данные в качестве позиционных аргументов в формате
<function name>(String, Number, String)
и выводит многострочную строку.Попробуйте онлайн! (Ideone)
источник
*f
и сброситеtuple
вызов.TypeError: not enough arguments for format string
всякий раз, когда я запускаю его таким образом.#
и%
.#
и лямбда необходимо, или я так думаю.JavaScript (ES6), 56 байт
Кроме того, для смеха, вот ответ, который форматирует себя для меня:
JavaScript (ES6), 68 байт
Распечатать результат
f()
.источник
(ES6)
. (Почему Cᴏɴᴏʀ O'Bʀɪᴇɴ только удосужился изменить длину?)C #,
4038 байтC # лямбда, где входные и выходные данные являются строками.
C #, 59 байт
С обработкой многострочного ответа.
C #, 71 байт
38-байтовое решение, которое печатает само
Попробуйте их онлайн
источник
Mathematica, 40 байт
Анонимная функция. Принимает язык, количество байтов и программу в качестве входных данных и печатает тело в STDOUT.
источник
Джольф,
2422 байтаНе так много, чтобы объяснить здесь.
¦
означает интерполированный ввод.Попробуй это здесь! Выход для ввода по ссылке:
Ввод как:
источник
MATL ,
2827 байт1 байт сохранен благодаря предложению @ NinjaBearMoneky
Попробуйте онлайн!
Блок кода должен быть в одной строке.
объяснение
источник
Common Lisp, 57 байт
Также, для развлечения, здесь ниже приведен фрагмент кода, который печатает заголовок для себя.
Common Lisp, 146 байт
источник
Рубин, 63 байта
Попробуйте онлайн: http://codepad.org/EIn0Gw9M
источник
hashmap , 29 байт.
(Я написал этот пост вместе с программой, но мне пришлось скрыться \ n в \\ n)
Объяснение:
источник
CJam ,
2623 байтаСпасибо @NinjaBearMonkey за удаление 3 байтов!
Блок кода должен быть в одной строке.
Попробуйте онлайн!
объяснение
источник
'#_Sl',Sl" bytes"N_S4*l
Пайк, 25 байт
Попробуй это здесь!
Или
Пайк, 0 байт
Попробуй это здесь! - нажмите кнопку копирования ответа;)
РЕДАКТИРОВАТЬ - это просто особенность веб-сайта, он обманывает (или, по крайней мере, я бы так считал), потому что он никогда не анализирует AST, и веб-программа, вероятно, не считается частью языка из-за того, что он не очень много взаимодействует с языком (хотя он работает с интерпретатором Pyke)
источник
Perl 5, 35 байт
Полная программа, которая принимает входные данные в качестве аргументов командной строки в обратном порядке. Требуется
-M5.01
, что бесплатно.источник
Emacs Lisp, 97 байт
Кроме того, поскольку иногда бывает сложно избежать кавычек, а что нет, пример использования, который копирует строку в буфер обмена. (Отметьте регион и используйте
M-:
)Emacs Lisp, 184 байта
источник