我在Ruby中见过几个do,但是我找不到一个很好的解释它的目的。例如,我在gemfile中看到一个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的用途。我有我的猜测,但我希望得到比我更了解的人的证实或否认。
发布于 2016-09-10 15:48:37
do ... end (或者{ ... })创建了一个所谓的块,这是Ruby中的一种匿名函数。在您的示例中,该块作为参数传递给group。然后,group执行一些簿记操作,将给定组设置为active,执行块,然后再次禁用组。
发布于 2016-09-10 15:35:52
do关键字与end关键字一起用于分隔代码块。
关于do end与括号的区别的更多信息可以在这里找到:rb.html#M000015
发布于 2016-09-10 15:35:55
它是使用括号的其他编程语言中的block,如:{}。在ruby中,您可以使用:
do
#something code
endhttps://stackoverflow.com/questions/39427614
复制相似问题