2013-07-09 2 views

답변

4

::은 범위 분석 연산자입니다. 이것은 "이 모듈 내부에서 다음의 상수 이름 찾기"를 의미합니다. 모듈을 생략하면 Object으로 간주됩니다. 그래서, ::Foo은 포함하는 모듈이 그 자신의Object 상수를 정의 할 수있는 경우에는 두 번째 양식 대신 당신이에 기대하는 하나의 Object 내부 Foo을 보일 것이다 물론 제외하고는 기본적으로 Object::Foo과 동일합니다. foo::barfoo.bar가 동일하다 : ::.로 즉 동일한 방법으로 메시지 전송 연산자로서 사용될 수 있다는

참고. 이 사용법은 이며, 매우입니다.

+0

이 권리가 있습니다. '현재 클래스/모듈 범위에서이 상수를 찾으십시오.'라는 지시어입니다. – OneChillDude

+0

아니요, 'Foo :: Bar'는 "Foo에서 상수'Bar '를 찾습니다"라는 의미입니다. 'Foo'를 생략하면'Object'라고 가정합니다. * 현재 * 범위에서'Foo'를 찾으려면'Foo'라고 말하면됩니다. 현재 범위를보고 싶지 않은 * 경우 * 경우에만 범위 분석 연산자가 필요합니다. 이것은 파일 시스템 경로 검색에서'/'연산자와 같이 다른 영역의 비슷한 연산자와 똑같이 작동합니다. –

+0

Ok. 그렇다면 UNIX의'../'와 비슷합니까? – OneChillDude

관련 문제