8
我已閱讀了一些關於閉合和捲曲的帖子,但我覺得我沒有找到答案。那麼封閉和咖喱的區別和相似之處是什麼?感謝您的幫助:)閉包和咖喱的區別和可能的相似之處是什麼?
我已閱讀了一些關於閉合和捲曲的帖子,但我覺得我沒有找到答案。那麼封閉和咖喱的區別和相似之處是什麼?感謝您的幫助:)閉包和咖喱的區別和可能的相似之處是什麼?
Currying首先是一個數學概念。這是隻是觀察:對於任何ň進制功能˚F:S ×內容S ň → [R,您可以定義一個新的功能fprime(剛發現一個錯誤降價!)與n-1其中第一個參數由常數替換的參數。所以,如果你有一個函數add(a,b)
,您可以定義一個新的功能,如add1(b)
add1(b) ::= add(1, b)
...閱讀「:: =」作爲「被定義爲」。
A 關閉更多的是一個編程概念。 (當然,編程中的所有內容都是一個數學概念,但由於編程,閉包變得很有趣)。當你構造一個閉包時,你綁定了一個或多個變量;您正在創建一些代碼,其中包含一些與其相關的變量。
的關係是你可以使用閉包,以實現柯里:你可以通過在其中首先參數綁定到1
你所描述什麼是封閉構建你上面的
add1
功能是局部的評價而不是捲曲。相關,但不完全一樣。 – 2012-12-13 01:44:50