[SCALA] 형 PARAMS을 지정하기위한이 스칼라 중위 구문의 이름은 무엇입니까?
SCALA형 PARAMS을 지정하기위한이 스칼라 중위 구문의 이름은 무엇입니까?
나는 스칼라 클래스의 유형 매개 변수를 지정하는 다른 일이 흥미로운 구문을 발견했습니다.
scala> class X[T, U]
defined class X
scala> new (Int X Int)
res1: X[Int,Int] = X@856447
구문 이런 종류의 이름이 있습니까? 그것을위한 좋은 사용 사례는 무엇입니까?
해결법
-
==============================
1.그것은 바이너리 형식 생성자의 단지 중위 응용 프로그램입니다. 타입 생성자 또는 메서드의 이름은 구두점 문자를 포함하는 경우 방법의 중위 응용 프로그램과 마찬가지로, 그것은 더 일반적으로 사용됩니다. 2.8 라이브러리의 예는 <<<% <및 = = (scala.Predef 참조).
그것은 바이너리 형식 생성자의 단지 중위 응용 프로그램입니다. 타입 생성자 또는 메서드의 이름은 구두점 문자를 포함하는 경우 방법의 중위 응용 프로그램과 마찬가지로, 그것은 더 일반적으로 사용됩니다. 2.8 라이브러리의 예는 <<<% <및 = = (scala.Predef 참조).
-
==============================
2.여기에 우리가 다니엘 Scobral의 블로그에서 적응 제 7 장 "프로그래밍 스칼라"(라일리), 158 페이지, "스칼라 개체 시스템"(http://dcsobral.blogspot.com/2009/06/catching에서 예입니다 -exceptions.html) :
여기에 우리가 다니엘 Scobral의 블로그에서 적응 제 7 장 "프로그래밍 스칼라"(라일리), 158 페이지, "스칼라 개체 시스템"(http://dcsobral.blogspot.com/2009/06/catching에서 예입니다 -exceptions.html) :
// code-examples/ObjectSystem/typehierarchy/either-script.scala def exceptionToLeft[T](f: => T): Either[java.lang.Throwable, T] = try { Right(f) } catch { case ex => Left(ex) } def throwsOnOddInt(i: Int) = i % 2 match { case 0 => i case 1 => throw new RuntimeException(i + " is odd!") } for(i <- 0 to 3) exceptionToLeft(throwsOnOddInt(i)) match { case Left(ex) => println("exception: " + ex.toString) case Right(x) => println(x) }
어느있는 형태로 내장이 관용구가 예외를 던지는에 대한 대안으로 일부 기능 언어 일반적이다. 왼쪽 및 오른쪽 당신은 하나의 서브 타입이 있습니다. 개인적으로, 나는 당신이 "Throwable 또는 T"를 쓸 수 있도록 유형, 이름 "또는"하였다 바랍니다.
from https://stackoverflow.com/questions/3200380/whats-the-name-of-this-scala-infix-syntax-for-specifying-type-params by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라에서 어떻게 튜플 값을 할당 할 수 있습니다? (0) | 2019.11.22 |
---|---|
[SCALA] 스칼라에서 반복자를 병렬 (0) | 2019.11.22 |
[SCALA] "시도 -과 - 자원 / 사용"에 대한 간단한 스칼라 패턴 (자동 자원 관리) (0) | 2019.11.22 |
[SCALA] 나는 모든 스칼라에서 한 번에 여러 패키지에서 가져올 수 있습니까? (0) | 2019.11.22 |
[SCALA] 어떻게 스칼라 2.10에서 구현 게으른 발 클래스 변수는? (0) | 2019.11.22 |