こんにちは、私は Scala に頭を悩ませようとしています。
API を参照していて、なじみのない構文が見つかりました
http://www.scala-lang.org/api/current/#scala.actors.CanReply
trait CanReply[-T, +R] extends AnyRef
abstract type Future[+P] <: () ⇒ P
T と R の前にある + と - は何を意味していますか?
こんにちは、私は Scala に頭を悩ませようとしています。
API を参照していて、なじみのない構文が見つかりました
http://www.scala-lang.org/api/current/#scala.actors.CanReply
trait CanReply[-T, +R] extends AnyRef
abstract type Future[+P] <: () ⇒ P
T と R の前にある + と - は何を意味していますか?
共分散と反分散を意味します。http: //debasishg.blogspot.ch/2006/04/generics-in-scala-part-1_12.html を参照してください。
具体的には、引用:
クラス定義の + in 型引数は、サブタイプがその型パラメーターで共変であることを示します。A - 同じ場所で関係が反変性に変わります。デフォルトの (プレフィックスなしの) 宣言は、サブタイプの不変性を示します。