首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在红宝石中,关键字"do“的意思是什么?

在红宝石中,关键字"do“的意思是什么?
EN

Stack Overflow用户
提问于 2016-09-10 15:32:26
回答 3查看 7.9K关注 0票数 18

我在Ruby中见过几个do,但是我找不到一个很好的解释它的目的。例如,我在gemfile中看到一个gemfile的地方

代码语言:javascript
复制
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的用途。我有我的猜测,但我希望得到比我更了解的人的证实或否认。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-10 15:48:37

do ... end (或者{ ... })创建了一个所谓的块,这是Ruby中的一种匿名函数。在您的示例中,该块作为参数传递给group。然后,group执行一些簿记操作,将给定组设置为active,执行块,然后再次禁用组。

票数 16
EN

Stack Overflow用户

发布于 2016-09-10 15:35:52

do关键字与end关键字一起用于分隔代码块。

关于do end与括号的区别的更多信息可以在这里找到:rb.html#M000015

票数 5
EN

Stack Overflow用户

发布于 2016-09-10 15:35:55

它是使用括号的其他编程语言中的block,如:{}。在ruby中,您可以使用:

代码语言:javascript
复制
do

  #something code

end
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39427614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档