を使用するには?私は次のようにしてみました:どのようにオブジェクトにカリー化機能を持っているカレー機能
object Main {
def main(args: Array[String]): Unit = {
val l = Sum.fold(Left(5))(l => l * l)
}
}
しかし、私は第3引数をどのように渡すかはわかりません。
を使用するには?私は次のようにしてみました:どのようにオブジェクトにカリー化機能を持っているカレー機能
object Main {
def main(args: Array[String]): Unit = {
val l = Sum.fold(Left(5))(l => l * l)
}
}
しかし、私は第3引数をどのように渡すかはわかりません。
あなたはそれが好きですか:
val a: Sum[Int, Int] = Left(5)
val l = Sum.fold(a)(l => l * l)(l => l * l)
OR
val l = Sum.fold(Left[Int, Int](5))(l => l * l)(l => l * l)
あなたは両方Left
とRight
A
とB
型を推測できるコンパイラのSum
のA
とB
タイプを指定する必要があります。あなたのコードスニペットとして
で時間をコンパイルし、あなたの第三高次機能パラメータのよう、あなただけの、コンパイラがB
型を推論することはできません、B
タイプなしInt
にLeft
A
タイプを指定していますコンパイラはここで失敗します。
あなただけright
機能のためにBに明示的な型を与える必要がある:
val l = Sum.fold(Left(5))(a => a * a)((b: Int) => b * b)