1
(真的很糟糕的标题)在Scala中泛型类型的函数成员参数类型的推断?
无论如何:我可以以某种方式让Scala推断第二行中的b
的类型吗?
scala> class A[B](val b: B, val fun: B => Unit)
defined class A
scala> new A("123", b => { })
<console>:9: error: missing parameter type
new A("123", b => { })
^
这个工程将类型后预期:
scala> new A("123", (b: String) => { })
res0: A[String] = [email protected]
而且String
肯定是预期的类型:
scala> new A("123", (b: Int) => {})
<console>:9: error: type mismatch;
found : Int => Unit
required: String => Unit
new A("123", (b: Int) => {})
^
谢谢,我会使用柯里里,如你所建议的。 :)(但我还是不明白,为什么不能在我的例子中推导这个类型。) –
@MichałRus这是对Scala类型推断的一个限制,你不能对这个 – 4lex1v
Kthx做任何事情。 :)漂亮的头发,顺便说一句。 –