有没有什么“简单”的方法? Ruby 中 procs 和 lambda 是什么的解释?
对于 Ruby 中的 procs 和 lambdas 有什么“简单”的解释吗?
Are there any "simple" explanations of what procs and lambdas are in Ruby?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Lambda(也存在于其他语言中)就像临时函数,仅为简单用途而创建,而不是执行一些复杂的操作。
当您使用像
Array#collect
这样接受{}
中的块的方法时,您实际上是在创建一个仅用于该方法的 lambda/proc/block。请参阅 Wikipedia 上的匿名函数,以及一些有关 lambda 细微差别的其他问题 > 与
Proc
相比。Lambdas (which exist in other languages as well) are like ad hoc functions, created only for a simple use rather than to perform some complex actions.
When you use a method like
Array#collect
that takes a block in{}
, you're essentially creating a lambda/proc/block for only the use of that method.See Anonymous functions on Wikipedia, and some other SO questions for the nuances of
lambda
vs.Proc
.