Как вы это называете? Функция, которая устанавливает параметры другой функции как фиксированные - PullRequest
0 голосов
/ 04 августа 2020

Когда я несколько лет назад проходил курс по программированию функций в университете, мы узнали об этом шаблоне программирования, где у вас есть функция, которая принимает X аргументов, а затем вы определяете другую функцию, которая принимает только аргументы X-1 и устанавливает последний - как константа.

Пример (python):

createTensor = lambda x,y,z: [[[0 for _ in range(x)] for _ in range(y)] for _ in range(z)]
createMatrix = lambda x,y: createTensor(x,y,1)
createVector = lambda x: createMatrix(x,1)

Было бы интересно услышать, как будет вызываться такая функция.

1 Ответ

1 голос
/ 04 августа 2020

Поскольку ответ был в комментариях, я просто отправлю его как обычный ответ:

Это называется частичным приложением функции . Сама функция будет называться частично применяемой функцией .

Эта концепция связана с «каррированием» (разложение функции на функции, которые принимают только один аргумент), что, как я считаю, является концепцией Я действительно вспомнил по урокам - и, вероятно, имя, которое я имел в виду, когда разместил вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...