ruby-on-rails - ruby::Module 或者只是 Module

标签 ruby-on-rails ruby

我正在慢慢浏览 Rails 源代码,以便更好地掌握 ruby​​ 和 Rails。在以下 rails 类中 test_case.rb

这条线是

 class TestCase < ::Test::Unit::TestCase

我想知道执行以下操作是否有任何区别

 class TestCase < Test::Unit::TestCase

这可能看起来微不足道,但这些事情对于学习一门新语言来说很重要。如果我删除前导::,测试仍然针对 ActiveSupport 运行,那么它做了什么......:P

最佳答案

::Test 确保您获得名为 Test 的顶层模块。

后一种情况 (Test::Unit::TestCase) 不能确保 Test 是顶层模块,例如,它可能是一个类。这意味着它在大多数情况下都能正常工作,但您可能会不小心破坏它。

关于ruby-on-rails - ruby::Module 或者只是 Module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011333/

相关文章:

ruby-on-rails - 未定义方法 `gsub' 为 nil :NilClass (NoMethodError

ruby - 如何将 4 个字节的二进制数据解包为 3 个字节和 1 个字节的值?

ruby-on-rails - 如何在 ruby​​ on rails 中循环通过 2 个模型?

ruby-on-rails - 使用 Nokogiri 的 NoMethodError

ruby-on-rails - 回形针附件未对查询字符串使用正确的 updated_at 时间

ruby - 如何在 Ruby 2.1 中获取给定 UTF-8 代码的字符

ruby - 描述ruby中的类关系

ruby-on-rails - 在我的index.html.erb中为nil:NilClass获取未定义的方法 `each'

ruby-on-rails - Ruby on Rails Sidekiq worker 执行顺序

ruby-on-rails - 有没有一种工具可以在编码时自动保存对文件的增量更改?