monad和闭包之间有什么区别?

use*_*657 9 monads closures

我很难读两者之间的定义.它们实际上可以在定义方面相交吗?还是我完全失去了?谢谢.

Max*_*ini 21

闭包,就像往常使用的那样,只是函数(或代码块,如果你愿意的话),你可以像对待一段数据一样对待并传递给其他函数等等.(无论你在哪里,"封闭"位都是如此)最终称之为它,它的行为就像你最初定义的那样.monad(大致)更像是一个上下文,其中函数可以顺序链接在一起,并控制数据从一个函数传递到下一个函数的方式.

  • 很好 - 这是我见过的最好的monad快速描述之一. (2认同)

Jon*_*eet 5

它们是完全不同的,尽管monads通常会使用闭包来捕获逻辑.

就个人而言,我会尝试在闭包的定义(基本上是一个逻辑,也捕获其环境,即局部变量等)上坚定不移,然后再担心monad.他们可以晚点来:)

关于Stack Overflow上的闭包有各种各样的问题 - 帮助你的最好的问题取决于你正在做什么平台.例如,有:

就个人而言,我只是刚刚开始"修复"monad(感谢我正在帮助的书).有一天,当我觉得我很了解他们的时候,我会写一篇关于他们的文章:)