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做任何事情。 :)漂亮的頭髮,順便說一句。 –