2
이 코드 줄을 보았습니다. < ::SuperClass
: 중첩 된 상수 마커과 같이 상속 기호를, 다음에 올 때ClassName <: 루비에서 암시하는 것은 무엇입니까?
class ClassName < ::TestUnit::Test::Etc
는
은 무엇을 의미합니까?
또한 ::
기호에 대한 기술적 이름이 있습니까?
이 코드 줄을 보았습니다. < ::SuperClass
: 중첩 된 상수 마커과 같이 상속 기호를, 다음에 올 때ClassName <: 루비에서 암시하는 것은 무엇입니까?
class ClassName < ::TestUnit::Test::Etc
는
은 무엇을 의미합니까?
또한 ::
기호에 대한 기술적 이름이 있습니까?
::
은 범위 분석 연산자입니다. 이것은 "이 모듈 내부에서 다음의 상수 이름 찾기"를 의미합니다. 모듈을 생략하면 Object
으로 간주됩니다. 그래서, ::Foo
은 포함하는 모듈이 그 자신의Object
상수를 정의 할 수있는 경우에는 두 번째 양식 대신 당신이에 기대하는 하나의 그 Object
내부 Foo
을 보일 것이다 물론 제외하고는 기본적으로 Object::Foo
과 동일합니다. foo::bar
foo.bar
가 동일하다 : ::
수 는 .
로 즉 동일한 방법으로 메시지 전송 연산자로서 사용될 수 있다는
참고. 이 사용법은 이며, 매우입니다.
이 권리가 있습니다. '현재 클래스/모듈 범위에서이 상수를 찾으십시오.'라는 지시어입니다. – OneChillDude
아니요, 'Foo :: Bar'는 "Foo에서 상수'Bar '를 찾습니다"라는 의미입니다. 'Foo'를 생략하면'Object'라고 가정합니다. * 현재 * 범위에서'Foo'를 찾으려면'Foo'라고 말하면됩니다. 현재 범위를보고 싶지 않은 * 경우 * 경우에만 범위 분석 연산자가 필요합니다. 이것은 파일 시스템 경로 검색에서'/'연산자와 같이 다른 영역의 비슷한 연산자와 똑같이 작동합니다. –
Ok. 그렇다면 UNIX의'../'와 비슷합니까? – OneChillDude