[SCALA] "=> 외부"정말 무엇을 의미합니까?
SCALA"=> 외부"정말 무엇을 의미합니까?
은 "외부 =>"기능에 대한 모든 문서가 있습니까? 그것은 infered 유형의 자기 형의 주석처럼 보인다. 나는 느낌이하지만 내가 잘못 오전.
이 경우 될 경우, 슈퍼에 대한 액세스를 표현하는 다른 방법은 무엇입니까?
trait A extends (B => C) {
outer =>
def apply(x: B): C = outer(x)
}
해결법
-
==============================
1.슈퍼하지만, 외부 범위를하지 않습니다. 이것은 다른 범위를 앨리어싱에 대한 방법입니다. 예를 들면 :
슈퍼하지만, 외부 범위를하지 않습니다. 이것은 다른 범위를 앨리어싱에 대한 방법입니다. 예를 들면 :
class A(val x:Int) { thisA => class B { val x = 2 val y = x + thisA.x // without thisA how could we use A.x instead of B.x ? (*) } }
여기에 더 좋은 그림이있다.
(*)가 같은 효과를 가질 수있는 또 다른 방법이 존재하지만,이 질문에 넘어.
-
==============================
2.그것은이 액세스 할 수있는 다른 방법입니다. 그것은이 외부가 내부 클래스에서 다른이에 의해 그림자가 될 경우에 유용합니다. 그런 식으로, 당신은 단지 외부에게 이름이 추가 (그것이 이름을 변경하지 그래서이 범위에있을 때이 계속 사용할 것 원본을) 제공 할 수 있습니다.
그것은이 액세스 할 수있는 다른 방법입니다. 그것은이 외부가 내부 클래스에서 다른이에 의해 그림자가 될 경우에 유용합니다. 그런 식으로, 당신은 단지 외부에게 이름이 추가 (그것이 이름을 변경하지 그래서이 범위에있을 때이 계속 사용할 것 원본을) 제공 할 수 있습니다.
from https://stackoverflow.com/questions/4353915/what-does-outer-really-mean by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 왜 스칼라 보조 생성자는 다른 생성자에 단일 통화로 구성 할 수 있습니까? (0) | 2019.11.23 |
---|---|
[SCALA] 추출기 (추출기를 사용할 것이라고 또는 다른 곳) case 문의 몸에있는 매개 변수를 사용자 정의 할 수 있습니까? (0) | 2019.11.23 |
[SCALA] 어떻게 스칼라 미래에 던져 예외를 잡아합니까? (0) | 2019.11.23 |
[SCALA] 스칼라에서 합성 클래스로 싱글 톤? (0) | 2019.11.23 |
[SCALA] 우편 번호에 여러 시퀀스 (0) | 2019.11.23 |