Обсуждение:Каррирование
Перейти к навигации
Перейти к поиску
Переименование[править код]
Эта статья была предложена к переименованию 9 апреля 2008 года. В результате обсуждения было решено оставить название Каррирование без изменений. Для повторного выставления статьи на переименование нужны веские основания, иначе это может быть расценено как игра с правилами (см. пункт 8). |
Предлагаю переименовать в Карринг, так как этот вариант ближе к оригиналу en:Curring. Каррирование — это уже какие-то языковые выверты. Карри, наверно, в гробу крутиться от таких экспериментов. Хацкер 14:42, 3 апреля 2008 (UTC)
- За, действительно более популярное название, используется разве что только товарищем Душкиным :-) --Claymore 15:01, 3 апреля 2008 (UTC)
Пример[править код]
неплохо бы пример --92.124.122.138 15:32, 29 ноября 2008 (UTC)den
- пример чего? Хацкер 16:23, 29 ноября 2008 (UTC)
- Пример каррирования какой-нибудь функции, конечно. --79.143.3.106 16:21, 29 ноября 2009 (UTC)
Примеры[править код]
В статье плохие примеры - там жёстко берётся функция + и подставляется один аргумент. Хорошо бы их заменить на каррирование произвольной функции. Могу предложить пример на scheme:
(define (curry f a) (lambda (b) (apply f (append a b))))
(define plus1 (curry + '(1)))
(plus1 '(3)) ; выведет 4
Пример на питоне из Замыкание_(программирование):
curry = lambda func_object, *args: (
lambda *local_args: (
func_object(
*(args + local_args)
)
)
)
Обедающий философ 12:00, 27 января 2012 (UTC)