복붙노트

[SCALA] 스칼라의 forSome 키워드는 무엇입니까?

SCALA

스칼라의 forSome 키워드는 무엇입니까?

나는 다음과 같은 코드를 발견 :

List[T] forSome { type T }

forSome는 방법처럼 보이지만 내 친구는 키워드의 나에게 말했다.

나는 그것을 봤하지만 forSome에 대한 몇 가지 문서를 발견했다. 그것은 무엇을 의미 하는가, 어디서 나는 그것에 대해 몇 가지 문서를받을 수 있나요?

해결법

  1. ==============================

    1.forSome 키워드는 스칼라에 존재 유형을 정의하는 데 사용됩니다. 그들이 무엇인지 설명이 스칼라 용어집 페이지가 있습니다. 나는 그들이 유용한 방법을 설명하는 내가 구글에서 발견 블로그 기사를, 그래서 여기에 자세히를 설명하는 스칼라 문서에서 장소를 찾을 것입니다 없습니다.

    forSome 키워드는 스칼라에 존재 유형을 정의하는 데 사용됩니다. 그들이 무엇인지 설명이 스칼라 용어집 페이지가 있습니다. 나는 그들이 유용한 방법을 설명하는 내가 구글에서 발견 블로그 기사를, 그래서 여기에 자세히를 설명하는 스칼라 문서에서 장소를 찾을 것입니다 없습니다.

    업데이트 : 당신은 스칼라 사양의 실존 유형의 정확한 정의를 찾을 수 있지만 그것은 아주 조밀하다.

    당신이 뭔가에 작동하고 싶지만에서 유형의 세부 사항에 대해 걱정하지 않을 때 나는에 링크 된 게시물 중 일부를 요약하면, 실존 종류가 유용합니다. 예를 들어, 배열에서 작동하고 싶지만 배열의 어떤 종류의 상관하지 않습니다 :

    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
    

    또한 내가에서이 예제를 가지고있는 곳입니다이 블로그 게시물을 참조하십시오.

  2. ==============================

    2.나는 스칼라를 잘 모르겠지만, 귀하의 질문에 내 관심을 포착하고 인터넷 검색을 시작했다.

    나는 스칼라를 잘 모르겠지만, 귀하의 질문에 내 관심을 포착하고 인터넷 검색을 시작했다.

    나는 스칼라의 변경 로그에있는 것을 발견

  3. from https://stackoverflow.com/questions/9444958/what-is-the-forsome-keyword-in-scala-for by cc-by-sa and MIT license