【问题标题】:What does "temps.each(&:valid?)" mean in Ruby? [duplicate]Ruby 中的“temps.each(&:valid?)”是什么意思? [复制]
【发布时间】:2012-04-13 04:18:20
【问题描述】:

可能重复:
What does map(&:name) mean in Ruby?

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

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    &:symbol 是符号的简写。

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

    【讨论】:

      猜你喜欢
      • 2011-07-27
      • 2023-03-15
      • 2014-04-09
      • 2011-04-17
      • 2014-12-06
      • 2011-05-09
      • 1970-01-01
      • 2014-11-07
      • 2011-07-10
      相关资源
      最近更新 更多