我正在慢慢浏览 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/