На Codewars.com я зіткнувся з таким завданням:
Створіть функцію,
add
яка складає числа разом, коли їх викликують послідовно. Тожadd(1)
слід повернутися1
,add(1)(2)
повернутися1+2
, ...
Хоча я знайомий з основами Python, я ніколи не стикався з функцією, яку можна викликати в такій послідовності, тобто функцією, f(x)
яку можна викликати як f(x)(y)(z)...
. Наразі я навіть не впевнений, як інтерпретувати це позначення.
Як математик, я підозрюю, що f(x)(y)
це функція, яка присвоює кожній x
функції, g_{x}
а потім повертається, g_{x}(y)
а також для f(x)(y)(z)
.
Якщо це тлумачення буде правильним, Python дозволить мені динамічно створювати функції, що здається мені дуже цікавим. Протягом останньої години я шукав в Інтернеті, але не зміг знайти провід у правильному напрямку. Оскільки я не знаю, як називається ця концепція програмування, проте, це може не надто дивувати.
Як ви називаєте це поняття і де я можу більше про нього прочитати?