Карринг

Библиотека Xoltar toolkit (автор Bryn Keller) включает модуль functional, который позволяет упростить использование возможностей функционального программирования. Модуль functional применяет «чистый» Python. Библиотеку можно найти по адресу: http://sourceforge.net/projects/xoltar–toolkit.

При карринге (частичном применении) функции создается новая функция, задавая некоторые аргументы исходной. Следующий пример иллюстрирует частичное применение вычитания:

from functional import curry

 def subtract(x, y):

  return x - y

print subtract(3, 2)

subtract_from_3 = curry(subtract, 3)

print subtract_from_3(2)

print curry(subtract, 3)(2)

Во всех трех случаях будет выведено 1. В следующем примере получается новая функция, подставляя второй аргумент. Вместо другого аргумента вставляется специальное значение Blank:

from functional import curry, Blank

def subtract(x, y):

 return x + y

print subtract(3, 2)

subtract_2 = curry(subtract, Blank, 2)

print subtract_2(3)

print curry(subtract, Blank, 2)(3)

Больше книг — больше знаний!

Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом

ПОЛУЧИТЬ СКИДКУ