Scala의 forSome 키워드는 무엇입니까?
다음 코드 조각을 찾았습니다.
List[T] forSome { type T }
forSome
보이는 방법을 좋아하지만 내 친구는 키워드의 나에게 말했다.
나는 그것을 봤지만 forSome
. 그것은 무엇을 의미하며 그것에 대한 문서를 어디서 얻을 수 있습니까?
forSome
키워드는 스칼라에 존재 유형을 정의하는 데 사용됩니다. 그것이 무엇인지 설명하는 이 Scala 용어집 페이지가 있습니다. 그래서, 자세히를 설명하는 스칼라 문서에서 장소를 찾을 수 없습니다 여기에 그들이 유용한 방법을 설명하는 내가 구글에서 발견 블로그 기사입니다.
업데이트 : Scala 사양 에서 실존 유형의 정확한 정의를 찾을 수 있지만 매우 조밀합니다.
내가 링크 한 게시물 중 일부를 요약하면 실존 적 유형은 무언가에 대해 작업하고 싶지만 그 안에있는 유형의 세부 사항에 신경 쓰지 않을 때 유용합니다. 예를 들어, 배열에서 작동하고 싶지만 어떤 종류 의 배열은 상관하지 않습니다 .
def printFirst(x : Array[T] forSome {type T}) = println(x(0))
메소드의 유형 변수로도 수행 할 수 있습니다.
def printFirst[T](x : Array[T]) = println(x(0))
그러나 경우에 따라 유형 변수를 추가하지 않을 수 있습니다. 유형 변수에 바운드를 추가 할 수도 있습니다.
def addToFirst(x : Array[T] forSome {type T <: Integer}) = x(0) + 1
또한 이 예제를 얻은 이 블로그 게시물 을 참조하십시오 .
저는 Scala를 모르지만 귀하의 질문에 관심이 생겨 인터넷 검색이 시작되었습니다.
Scala의 변경 로그에서 다음을 발견했습니다 .
"새로운 키워드를 이용하여 실존 유형을 정의하는 것이 가능하다
forSome
. 실존 입력 폼 보유 값 및 / 또는 타입 선언들의 시퀀스이다."T forSome {Q}
Q
참고 URL : https://stackoverflow.com/questions/9444958/what-is-the-forsome-keyword-in-scala-for
'IT TIP' 카테고리의 다른 글
Visual Studio Code의 사용자 및 시스템 설치 관리자의 차이점 (0) | 2020.11.05 |
---|---|
개인 계정 대신 조직 계정에있는 GitHub 요점을 어떻게 만들 수 있습니까? (0) | 2020.11.05 |
grep --ignore-case --only (0) | 2020.11.05 |
ExecutorService에서 shutdown ()을 호출하는 이유 (0) | 2020.11.05 |
새로운 netstandardapp과 netcoreapp TFM의 차이점은 무엇입니까? (0) | 2020.11.05 |