我长期以来一直想知道为什么惰性评估有用。我还没有人以一种有意义的方式向我解释;大多数情况下,它最终都会归结为“相信我”。
注意:我的意思不是记忆。
主要是因为它可以更有效——如果不使用值,则不需要计算它们。例如,我可以将三个值传递到一个函数中,但根据条件表达式的顺序,实际上只能使用一个子集。在像 C 这样的语言中,无论如何都会计算所有三个值;但在 Haskell 中,只计算必要的值。
它还允许一些很酷的东西,比如无限列表。我不能在像 C 这样的语言中拥有无限列表,但在 Haskell 中,这没有问题。无限列表在数学的某些领域中使用得相当频繁,因此拥有操作它们的能力会很有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)