복붙노트

[RUBY-ON-RAILS] 루비에서 클래스 이름 전에 더블 콜론?

RUBY-ON-RAILS

루비에서 클래스 이름 전에 더블 콜론?

나는 클래스 이름 앞에 레일 이중 콜론의 많은 사용을 보았다.

예를 들면 :

require ::File.expand_path('../config/environment',  __FILE__)

나는 어떤 모듈 :: 클래스 :: 상수 방법을 알고 있지만 :: 클래스?

해결법

  1. ==============================

    1.그것은 당신이 최상위 네임 스페이스의 상수 파일을 참조하고 있다는 것을 의미한다. 이 같은 상황에서 의미가 있습니다 :

    그것은 당신이 최상위 네임 스페이스의 상수 파일을 참조하고 있다는 것을 의미한다. 이 같은 상황에서 의미가 있습니다 :

    class MyClass #1
    end
    
    module MyNameSpace
      class MyClass #2
      end
    
      def foo # Creates an instance of MyClass #1
        ::MyClass.new # If I left out the ::, it would refer to
                      # MyNameSpace::MyClass instead.
      end
    end
    
  2. from https://stackoverflow.com/questions/4819312/double-colons-before-class-names-in-ruby by cc-by-sa and MIT license