ruby-on-rails - ruby 中关键字 "do"的含义是什么?

标签 ruby-on-rails ruby rubygems

我在 Ruby 中看到过一些do,但我找不到对其用途的真正好的解释。例如,我看到 do 的地方是在 gemfile 中:

group :development, :test do
    gem 'rspec-rails'
    gem 'rspec-its'
    gem 'simplecov', :require => false
    gem 'guard-rspec'
    gem 'spork-rails'
    gem 'guard-spork'
    gem 'childprosess'
    gem 'rails-erd'
    gem 'pry-rails'
    gem 'guard-rails'
    gem 'guard-livereload'
    gem 'guard-bundler'
end

我知道这段代码是做什么的,但是我不知道do的目的。我有自己的猜测,但我希望得到比我更了解的人的证实或否定。

最佳答案

do ... end(或者 { ... })创建一个所谓的 block ,它是 Ruby 中的一种匿名函数。在您的示例中,该 block 作为参数传递给 groupgroup 然后进行一些簿记以将给定的组设置为事件的,执行该 block ,然后再次停用这些组。

关于ruby-on-rails - ruby 中关键字 "do"的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39427614/

相关文章:

ruby-on-rails - Instagram gem 和法拉第

javascript - 仅在某些操作中启用js功能

ruby - Sinatra:使用其他文件中的路由

ruby - Ubuntu 10.04 上的 ruby​​gems 更新后 dev_appserver.rb 无法启动

ruby-on-rails - 在 Mac 中安装 wkhtmltopdf 以便 imgkit gem 在 RoR 中使用

mysql - mysql 2.8.1 和 ruby​​-mysql 2.9.3 有什么区别

ruby-on-rails - Rails 迁移的命名约定

ruby-on-rails - 如何使用渲染部分传递选项

ruby-on-rails - 如何使用carrierwave为第一个pdf页面创建缩略图

ruby-on-rails - rails : why am I having trouble accessing this member variable in a controller method?