2011-08-07 2 views
6

문서를 작성할 때 인스턴스 필드를 어떻게 참조 할 수 있습니까? 하나는 인스턴스 메소드에 대해 "정적"방법 Foo.fooFoo#foo을 사용, 자바에서설명서의 인스턴스 메서드를 참조하는 방법은 무엇입니까?

object Foo { 
    val foo = 42 
} 

class Foo { 
    val foo = 42 
} 

:

이 코드를 생각해 보자.

그러나 스칼라 #에서

이미 경로 의존적 유형에 대한 촬영 및
class Foo { 
    class foo 
    def foo = 42 
} 

법적 코드, 그래서 나는 명확하게 그것을 참조 할 수 없습니다.

어떻게보아야할까요?

답변

3

힘든. 아마도 Foo's foo에서와 같이 영어와 같은 것일 수 있습니까? 나는 #의 모호함을 놓쳤다. 그러나 모호함은 문맥이없는 경우에만 존재하기 때문에 여전히 선호되는 선택입니다. 유형을 언급 할 때 #은 하나의 의미를 지니고 있습니다. 가치 또는 방법을 언급 할 때 #에는 또 다른 것이있다.

유형 및 메소드/값이 네임 스페이스를 공유하지 않기 때문에 여기에 모호성이있는 것은 아닙니다.

+0

#이 용도로도 #을 사용합니다. – retronym

+0

주요 문제는 ScalaDoc에 링크하는 해당 URL이 어떻게 표시되어야합니까? 모호하지 않은 기호를 제외하고 URL에 "컨텍스트"를 포함 할 수있는 방법이 없습니다. 그리고 이미 심볼을 만들어야한다면 문서에서도 사용할 수 있습니다. – soc

+0

@soc 글쎄, 'Foo.foo'는 ScalaDoc에서 무엇을 언급합니까? 'Foo'의'type foo' 나'Foo'의'def foo'에요? 이 문제는 이미 존재합니다. 사람들이 똑같은 식별자를 가진 타입 및 비 타입 멤버의 이름을 짓는 데 너무 성급한 것이라면, 나는 그것을 무시하거나 둘 다 해결할뿐입니다. 게다가 ... iirc, URL의'# '은 특별한 의미가 있으므로 URL에 실제로 사용할 수 없습니다. –

관련 문제