我在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
的目的。我有我的猜测,但我希望他们被比我更了解的人证实或否认。
答案 0 :(得分:7)
do ... end
(或者{ ... }
)创建一个所谓的块,它是Ruby中的一种匿名函数。在您的示例中,该块作为参数传递给group
。 group
然后执行一些簿记以将给定组设置为活动,执行块,然后再次停用组。
答案 1 :(得分:4)
do
关键字与end
关键字一起用于分隔代码块。
有关do end
与括号的区别的更多信息,请点击此处:http://ruby-doc.org/docs/keywords/1.9/files/keywords_rb.html#M000015
答案 2 :(得分:3)
这是block
在其他编程语言中,您使用括号,如下所示:{}
。在ruby
中,您可以使用:
do
#something code
end