《松本行弘的程序世界》中matz有段Ruby代码貌似写错了?

最近开始读这本书了,看到第三章《程序块》中3.3.10 Lisp的内部包和块的区别中提到的这段代码

# (a)col.select{|x| g(x) }.collect{|x| f(x)}# (b)col.select(&:g).collect(&:f)

文中提到b是Ruby 1.9的省略写法。这里有两个问题,首先col.select(&:g).collect(&:f)对应的写法应该是col.select{|x| x.g}.collect{|x| x.f}吧,col.select{|x| g(x) }.collect{|x| f(x)}这句语句应该是不可省略了,之前我对此一直很不满呢,因为感觉出现这类代码其实频率还更高些,比如逐个输出的情况。其次这也不应该是Ruby 1.9的省略写法吧,1.8也有啊。

《松本行弘的程序世界》中matz有段Ruby代码貌似写错了?

相关文章:

你感兴趣的文章:

标签云: