<分区>
任何人都可以解释这段 ruby 代码中“&”的使用吗?
s.feature_addons.select(&:is_active?)
<分区>
任何人都可以解释这段 ruby 代码中“&”的使用吗?
s.feature_addons.select(&:is_active?)
最佳答案
意思是:
s.feature_addons.select { |addon| addon.is_active? }
&
调用对象上的 to_proc
,并将其作为 block 传递给方法。
class Symbol
def to_proc
Proc.new { |*args| args.shift.__send__(self, *args) }
end
end
您可以在其他类中定义to_proc
方法:Examples
关于ruby-on-rails - 任何人都可以解释这段 ruby 代码中 '&' 的使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174350/
相关文章:
ruby-on-rails - 如果其中一个数据库更新失败,rails db 事务不会回滚
ruby-on-rails - 使用 ActiveRecord 时 Rails 日志的格式
ruby-on-rails - 如何防止 mina 删除生产服务器上上传的图片?
java - ruby 中是否有一些像 java httpclient 这样的库
ruby-on-rails - 关联的 Rails 未初始化常量
ruby-on-rails - Gitlab-CI 和 Gem 公寓
ruby-on-rails - 使用自定义命名路由的 Rails 3 "No Route Matches"错误
ruby - 如何修复(RubyInstaller::Runtime::DllDirectory::WinApiError) in ruby on windows?