2008-12-17 11 views

ответ

6

Currying - это действительно математическая концепция в первую очередь. Это просто наблюдение, что для любого п -ичных функций F: S × ... S п → R, вы можете определить новый функцию fprime (только что нашла уценку ошибки!) С n-1 параметры, где этот первый параметр заменен константой. Так что, если у вас есть функция add(a,b), вы можете определить новую функцию add1(b), как

add1(b) ::= add(1, b)

... Продолжить чтение «:: =» как «определяется как».

A Закрытие - это скорее концепция программирования. (Конечно, все в программировании также является математической концепцией, но закрытие стало интересным из-за программирования.) Когда вы строите замыкание, вы связываете одну или несколько переменных; вы создаете кусок кода, который связан с некоторыми переменными.

Отношение, которые вы можете использовать замыкание в целях реализации выделки: вы можете создать свою add1 функцию выше, сделав замыкание, в котором, что первый параметр привязан к 1.

+0

То, что вы описали частичная оценка а не карри. Связанный, но не совсем то же самое. –

 Смежные вопросы

  • Нет связанных вопросов^_^