[SCALA] 왜 하나는 해시 대신 점으로 스칼라 형 멤버를 선택 하는가?
SCALA왜 하나는 해시 대신 점으로 스칼라 형 멤버를 선택 하는가?
스칼라에서는 클래스에서 유형을 선택하는 구문은 클래스에서 무엇을 선택 다르다. 그 전 사용하는 대신에, 도트의 선택 연산자 해시. 왜 그런 겁니까?
예 : 우리가 같은 클래스가 있다면 ...
class Example {
type Foo = String
}
왜 우리는이 같은 클래스의 유형을 선택합니까 ...
val example:Example#Foo = "1"
대신이 같은?
val example:Example.Foo = "1"
해결법
-
==============================
1.예 # 푸 유형의 투사라고 입력 예의 둘러싸는 인스턴스의 모든 유형의 푸 일치합니다. 당신이 유형 Example.Foo을 작성하는 경우, 컴파일러는 예라고만을 포위 푸 형식을 참조 할 값을 찾아 (및 입력하지) 않습니다. 이것은 종종 단일 객체의 맥락에서 사용된다.
예 # 푸 유형의 투사라고 입력 예의 둘러싸는 인스턴스의 모든 유형의 푸 일치합니다. 당신이 유형 Example.Foo을 작성하는 경우, 컴파일러는 예라고만을 포위 푸 형식을 참조 할 값을 찾아 (및 입력하지) 않습니다. 이것은 종종 단일 객체의 맥락에서 사용된다.
예를 들어 :
object MyEnum extends Enumeration { val EnumValue = Value } val e: MyEnum.Value = MyEnum.EnumValue
스칼라를 사용합니다. 앞의 식별자가 유형 또는 값 ... 따라서 #으로 하나 해석 될 수 있기 때문에 유형 예측을 위해,이 혼란으로 이어질 것입니다. 그 참고 @kassens의 쓰기로, 자바는 그 점에 입력 한 전망을 가지고있다.
from https://stackoverflow.com/questions/6676048/why-does-one-select-scala-type-members-with-a-hash-instead-of-a-dot by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떤 구성 설정은 키 'akka.version'을 찾을 수 없습니다 (0) | 2019.11.09 |
---|---|
[SCALA] 표준 작업 이후에 자동으로 실행 사용자 지정 작업 / (0) | 2019.11.09 |
[SCALA] 스칼라 케이스 클래스에 업데이트 작업 (0) | 2019.11.09 |
[SCALA] 두 목록의 직교 제품 (0) | 2019.11.09 |
[SCALA] 자바 8 스트림, 점점 머리와 꼬리 (0) | 2019.11.09 |