IT TIP

Scala의 forSome 키워드는 무엇입니까?

itqueen 2020. 11. 5. 20:01
반응형

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

반응형