例えば trait F[T] { type Out }
object F {
type Aux[T, out] = F[T] { type Out = out }
}
def glhf[t, out](implicit f: F.Aux[t, out]): out = ???
私は、これは、抽出のいずれかの種類(さえ複雑なクロス暗黙の型変数)のための魔法のように動作し、暗黙
は、私の知る限り理解し、Scalaでは String is an alias for java.lang.String としてはを説明し、Predef.scalaで見ることができます。 type String = java.lang.String
だから、本質的に、それらが同じです。 しかし、のIntelliJ IDEA 2017年2月5日に、以下のコードは、エラー生成します。ここでは t
に式を解決し、私は単一の式が複数のインスタンスに解決したい: Inductive SR: Prop := Sen | Inf.
Parameter CA S: Prop.
Parameter X: SR -> CA -> Prop -> Prop.
Parameter X': SR -> CA -> Prop -> Set.
Parameter XP: SR -> CA -> Prop -
% scala
Welcome to Scala 2.12.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111).
Type in expressions for evaluation. Or try :help.
scala> trait Op[-Y, -Z, +A, +B] {
| de
私は、(いくつか、例えば5から10の)オプションの存在に基づいてオブジェクトに変更を適用したい場合があります。私は命令的にそれを行うにしたのであれば基本的には、どのような私が目指してることは次のとおりです。 var myObject = ...
if (option.isDefined) {
myObject = myObject.modify(option.get)
}
if (