首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个是Ruby不推荐的proc?

哪个是Ruby不推荐的proc?
EN

Stack Overflow用户
提问于 2013-03-17 15:42:07
回答 2查看 388关注 0票数 1

在戴夫·托马斯( Dave )与查德·福勒( Chad )和安迪·亨特( Andy )合著的“编程Ruby:实用主义程序员指南”( Programming Ruby: the务实的程序员指南)一书中,关于创建Proc的问题,有一个脚注指出:

“实际上还有第三个问题,proc,但实际上已经被否决了。”

我找不到这是哪条路。我知道以下创建Proc的方法

1

代码语言:javascript
复制
b = lambda { | msg | puts "msg: #{msg}" }
b.call("hi")

2

代码语言:javascript
复制
def create_block_object(&block)
  block
end
b = create_block_object{ |msg| puts "msg: #{msg}" }
b.call("hello")

3.

代码语言:javascript
复制
b = Proc.new { |msg| puts "msg: #{msg}"}
b.call("hey")

我想知道第四条路,如果有人能给我一个答案,我会很高兴的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-17 16:03:10

您所指的书是关于Ruby1.8的。

在那个版本的Ruby中,lambdaprocs实际上是别名,而Proc则是另一回事。这显然是误导性的,这就是不建议您使用proc的原因

代码语言:javascript
复制
prc = proc {|x, y| puts x + y}

这种语法被认为是弃用的,在本例中建议使用lambda。

这已不再适用于Ruby的后期版本,从1.9开始。

票数 1
EN

Stack Overflow用户

发布于 2014-08-06 18:49:26

中华人民共和国= proc {x\ x*x}已折旧。

这个语法主要用于Ruby-1.8.7版本中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15462674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档