什么“temps.each(&:valid?)”在Ruby中意味着什么?

可能重复:
map(&:name)在Ruby中意味着什么?

什么&:valid? 发现在each意思? 我见过.each do |r| 或者其他什么,但不确定这个是如何工作的?

&被称为to_proc运算符。 它将符号( :valid? )扩展为Proc。 所以你的例子相当于:

 temps.each { |t| t.valid? } 

&:symbol是符号到proc的简写。

这是一篇很好的博客文章。 http://blog.hasmanythrough.com/2006/3/7/symbol-to-proc-shorthand