我有点困惑,读两者之间的定义。它们是否可以在定义上相交?还是我完全失去了?谢谢。monad和闭包有什么区别?
7
A
回答
19
闭包,因为这个词往往被使用,只是函数(或代码块,如果你喜欢),你可以像一块数据一样对待并传递给其他函数等(“关闭”位是无论你最终调用它的位置,它的行为就像它最初定义的位置时的行为一样)。 monad(大体上)更像是一个函数可以按顺序链接在一起的上下文,并控制数据如何从一个函数传递到下一个函数。
5
他们是完全不同的,虽然单子往往会使用关闭捕捉逻辑。
个人而言,我会尝试担心单子之前得到闭包的定义(本质上是一块逻辑也捕捉它的环境,即局部变量等)的固体。他们可以稍后:)
有关于堆栈溢出关闭各种问题 - 最好的人帮你将取决于你的工作是什么平台上。例如,有:
个人,我才刚刚开始“神交”的单子(感谢这本书,我帮助了上)。有一天,我会得到全面写了一篇文章关于他们,当我觉得我理解他们不够好:)
+0
Jon-我喜欢你的答案,这部分非常much-“有一天我会得到全面写关于他们的文章,当我觉得我理解他们不够好:)”保持下去!运气最好! – 2009-06-03 04:17:23
1
“闭包”是一个对象,包含1)一个函数,2)它的自由变量的值在构造它的地方。
A“单子”是一类能够以一定的方式,即,通过使用相关联的绑定和返回高阶函数运算符组成,以产生其他函数的函数。
0
我觉得单子有点比关闭更复杂,因为闭包是记得的定义和单子点东西的代码只是块的“扭曲”的常用函数合成操作的构造。
相关问题
- 1. Java包:`oracle.AQ`和`oracle.jdbc.aq`有什么区别?
- 2. JAR和包之间有什么区别?
- 3. 有什么区别`和$(Bash中有什么区别?
- 4. 闭合和嵌套闭合有什么区别?
- 5. 直接关闭Input/OutputStream和关闭Socket有什么区别?
- 6. ==和===有什么区别?
- 7. ==和===有什么区别?
- 8. 有什么区别? :和||
- 9. ==和===有什么区别?
- 10. '=='和'==='有什么区别?
- 11. `&`和`ref`有什么区别?
- 12. 有什么区别:。!和:r!?
- 13. | 0和~~有什么区别?
- 14. Appender和〜有什么区别?
- 15. xtype和别名有什么区别?
- 16. 包含标签和包含函数有什么区别?
- 17. 源码包和测试包之间有什么区别?
- 18. Javascript。实际上,闭包和动态“这种”绑定有什么区别?
- 19. 有什么区别
- 20. 有什么区别
- 21. 有什么区别?
- 22. 有什么区别?
- 23. 有什么区别?
- 24. 有什么区别
- 25. 有什么区别?
- 26. 有什么区别?
- 27. 有什么区别
- 28. 有什么区别
- 29. TForm.Close和通过窗体句柄关闭有什么区别?
- 30. 关闭和传统课程有什么区别?
这可以帮助我,谢谢一堆! – user63657 2009-04-26 12:50:56