我正在观看对 John Hughes 的采访,当他从 Haskell 切换到 Erlang 时,有人问他是否怀念懒惰。作为回答,他说是的,并且他使用工具来“模仿”它。
我的问题是:如何用严格的语言模仿懒惰?很高兴看到主流语言中的酷示例。
最佳答案
通常的技巧是使用 lambda
(我猜这将是 fun
在 Erlang 中)。
这是一个使用 Ruby 的示例:
Monad equivalent in Ruby
基本思想非常简单......你可以使用任何你想要变得惰性的表达式,将它包装在一个零参数匿名函数中,然后在你想要强制它时评估该函数。
关于haskell - 如何模仿懒惰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338044/