На 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 дозволить мені динамічно створювати функції, що здається мені дуже цікавим. Протягом останньої години я шукав в Інтернеті, але не зміг знайти провід у правильному напрямку. Оскільки я не знаю, як називається ця концепція програмування, проте, це може не надто дивувати.
Як ви називаєте це поняття і де я можу більше про нього прочитати?