Напишите самую короткую программу, которая берет один вход (n) из STDIN (или эквивалентный) и выводит простую инкрементную функцию с одним аргументом (x), которая возвращает x + n, но функция должна быть на другом языке. Довольно просто!
Это код-гольф, применяются нормальные правила, выигрывает самая короткая программа.
Пример:> <> в Python (Ungolfed)
!v"def i(x):"a" return x+"ir!
>l?!;o
Входные данные:
3
Выход:
def i(x):
return x+3
РЕДАКТИРОВАТЬ: анонимные функции и лямбда-выражения допускаются!
function BUT
что мы должны написать .. -_-Ответы:
GS2 → K, 2 байта
Это печатает молчаливую, монадическую функцию. Исходный код использует кодировку CP437 . Попробуйте онлайн!
Тестовый забег
Как это работает
GS2
GS2 автоматически читает из STDIN и помещает данные в стек.
•
указывает, что следующий байт является строковым литералом-одиночкой.Перед выходом GS2 печатает все элементы стека.
К
Каррирование левого аргумента в K. происходит автоматически
Здесь,
n+
превращает двоичную функцию+
в монадическую функцию, устанавливая ее левый аргумент вn
.источник
ShapeScript → J, 4 байта
Это печатает молчаливый, монадический глагол. Попробуйте онлайн: ShapeScript , J
Тестовый забег
Как это работает
ShapeScript
ShapeScript автоматически читает из STDIN и помещает ввод в стек.
"&+"
толкает эту строку в стеке.Перед выходом ShapeScript печатает все элементы стека.
J
&
выполняет аргумент карри.Здесь,
n&+
превращает двоичный глагол+
в монадический глагол, устанавливая его левый аргумент вn
.источник
GolfScript → CJam, 4 байта
Это печатает блок кода (анонимная функция). Попробуйте онлайн: GolfScript , CJam
Тестовый забег
Как это работает
GolfScript
GolfScript автоматически считывает данные из STDIN и помещает данные в стек.
{+}
толкает этот блок в стеке.+
выполняет конкатенацию, которая успешно объединяет строку и блок.Перед выходом GolfScript печатает все элементы стека.
CJam
{n +}
это блок кода, который при выполнении сначала помещаетn
в стек, а затем выполняет+
, который извлекает два целых числа из стека и помещает их сумму.источник
{n +}
толкает42
, затем выполняет+
. (Наверное должно быть{42 +}
или "толкаетn
")BrainF *** для JavaScript ES6, 57 байт
(Предполагается, что вход состоит из цифровых символов)
Скажите
1337
, ваш вклад. Затем это будет компилироваться в:источник
Ротор до К, 2 байта
С таким же успехом можно прыгнуть на подножку К.
источник
От 0 до 5 байт
Благодаря @ kirbyfan64sos
Другая версия, использующая функции, добавленные после создания конкурса.
источник
i'++p
.R до Юлии, 19 байт
Это читает целое число из STDIN, используя
scan()
и записывает безымянную функцию Джулии в STDOUT, используяcat()
. Функция Джулия простоx->x+n
, откудаn
исходит от программы R.источник
Malbolge для JavaScript ES6, 71 байт
Всегда интересно генерировать код Malbolge.
источник
Minecraft 1.8.7 к K,
76 + 33 + 27 + 62 =129128 байтЭто использует эту версию подсчета байтов .
Командные блоки (идущие слева направо):
Скорее всего, это немного сложнее, но это довольно просто: сгенерируйте переменную
J
с цельюK
и установите ее значение для этой цели на входе (нет STDIN - я подумал, что это было достаточно близко). Затем, после отметки, выведите оценку переменнойJ
для цели,K
за которой следует a+
. Очень просто.источник
extra
, поместить JSON партитуры в массив и поместить строку после?tellraw @a [{score:{name:"J",objective:"K"}},"+"]
Серьезно для Python, 15 байт
,"lambda n:n+"+
Ожидается, что ввод будет в строковой форме, т.е.
"3"
Объяснение:
Попробуйте онлайн (вам нужно будет вручную ввести ввод, потому что постоянные ссылки не любят кавычки)
источник
Mathematica для C #, 22 байта
Выводит C #
Func<int, int>
формыисточник
rs -> K, 2 байта
Живая демоверсия.
источник
Pyth to APL,
75 байтКод Pyth просто объединяет input (
z
) со строкой"--"
. Это создает неназванный монадический поезд в APL с формойn--
, откудаn
прибывает Pyth. При вызове его в APL(n--)x
для некоторого аргументаx
вычисляетn--x = n-(-x) = n+x
.Пытаться: Pyth , APL
Сохранено 2 байта благодаря Денису!
источник
> <> в Python, 25 + 3 = 28 байт
Вводит через
-v
флаг, напримери выводит лямбду Python, например
lambda x:x+27
.Для бонуса вот версия ввода STDIN для 30 байтов:
источник
Мышь Руби, 19 байт
Ungolfed:
Это создает безымянную функцию Рубиновых форм ,
->x{x+n}
гдеn
происходит от мыши.источник
Haskell to Mathematica, 14 байтов
источник
Brainfuck to Java, 273
Результаты метода , как
int d(int i){return i+42;}
(что не выглядеть как метод Java, но ... Java!)источник
public static int method(int argument){return argument+42;}
public static
языке Java, вы на самом деле не занимаетесь Java.argument
Лучше бы его тоже назвалиsummand
;-) )public static void main(String[] arguments){}
PHP → JavaScript (ES6), 20
24байтаЧтение из STDIN всегда дорого в PHP. Это выглядит немного странно:
Он печатает
x=>x+
и ждет пользовательского ввода для завершения строки, завершается полной анонимной функцией JavaScript, напримерx=>x+2
.Первая версия (24 байта )
источник
x=>x+<?=$x;
? Это действительный PHP4.1, и вы можете передавать значения через POST, GET, SESSION, COOKIE, ... и он будет работать без нареканий. Или на PHP5.3 сregister_globals=on
(в вашемphp.ini
файле).STDIN
. Каждый раз я игнорировал то, что критиковали. Поэтому сейчас я серьезно отношусь к требованиям. :)GET
это прошлоSTDIN
. Я могу проверить это через некоторое время.Pyth -> K, 4 байта
K действительно легко злоупотреблять здесь ...
Живая демоверсия.
источник
Питон 2 до CJam,
1820 байтСпасибо LegionMammal978 за исправление функциональности.
Python делает основной формат строки.
%f
это код для float, и поскольку я не потерял ни одного байта для обработки float, я пошел вперед и сделал это.CJam во многом совпадает с ответом Golfscript-> CJam. Это выглядит примерно так:
или:
Это блок, который снимает верхнее значение со стека, выталкивает специальное число и добавляет их.
источник
POSIX оболочка для Haskell, 19 байт
Разрешенные анонимные функции, Haskell - хороший выбор вывода с разделами оператора.
источник
Retina to Pip , 4 байта
Использует один файл для каждой из этих строк + 1 штрафной байт; или поместите обе строки в один файл и используйте
-s
флаг.Соответствует концу ввода с
$
и помещает+_
туда. Это приводит к чему-то в форме3+_
, которая является анонимной функцией в Pip.источник
Bash → C / C ++ / C # / Java, 33 байта
и, возможно, другие
источник
Витси к К, 5 байт
\ o / K будет использоваться очень скоро, если он сможет это сделать.
или, может быть...
Если входные данные взяты в виде строки (только для ввода 0-9) ...
Все это для ввода 2 будет выводить:
источник
Крошечный Лисп на Цейлон ,
6861Крошечный Лисп не имеет реального ввода и вывода - он просто имеет оценку выражения. Этот код выше создает функцию и связывает ее с
u
. Затем вы можете вызватьu
с аргументом,n
подобным следующему:,(u 7)
который оценивает это значение Tiny Lisp:Это допустимое выражение Цейлона для анонимной функции, которая добавляет 7 к произвольному целому числу.
Спасибо DLosc за улучшение 7 байтов.
источник
JavaScript для лямбда-исчисления , 39 байт
(Это использует связанный документ в качестве основы.)
Скажи вход есть
5
. Тогда это становится:источник
Microscript II - Javascript ES6, 9 байт
источник
GNU sed для C, 46 байт
источник
Цейлон к Малому Лиспу , 76
Это производит (после прочтения строки ввода) вывод, подобный
(q((x)(s 5(s 0 x))))
, который оценивает в Tiny Lisp((x) (s 5 (s 0 x)))
функцию, которая принимает аргументx
, вычитает его из 0 и вычитает результат из 5. (Да, это то, как вы добавляете в Tiny Lisp , есть только встроенная функция вычитания. Конечно, сначала можно определить функцию сложения, но это будет дольше.)Вы можете использовать это как анонимную функцию:
(Это оценит до 12.)
Или вы можете дать ему имя:
Исправления и советы по игре в гольф от DLosc, автора Tiny Lisp.
источник
Javascript (ES6)> PHP / Javascript,
384847 байтЭтот код является анонимной функцией, которая создает VALID PHP и вызываемую функцию Javascript
anonymous
.На момент написания этого кода только Firefox реализовал ES6 изначально (без флагов и тому подобного).
Этот код использует
prompt()
функцию для запроса ввода и для вывода. Firefox поддерживает копирование выводаprompt()
, что делает этот метод легитимным для Javascript.Соображения:
;
конце требуется для PHPreturn $x
Требуется пространство в Javascriptreturn$x
не определеноСтарый ответ (48 байт):
Старый неверный ответ:
источник