0
以下方法定義沒有類型參數錯誤:Scala的拋出上有效的λ定義
def validClasses(dataType: DataType) = {
examples
.flatMap {
v: Any =>
Try {
val canon = toCanonicalType(v, dataType)
canon.getClass
}
.toOption
.toSet
}
}
產生以下錯誤:
Error:(94, 8) no type parameters for method flatMap: (f: Any => scala.collection.GenTraversableOnce[B])(implicit bf: scala.collection.generic.CanBuildFrom[scala.collection.immutable.Set[Any],B,That])That exist so that it can be applied to arguments (Any => scala.collection.immutable.Set[Class[?0]] forSome { type ?0 })
--- because ---
argument expression's type is not compatible with formal parameter type;
found : Any => scala.collection.immutable.Set[Class[?0]] forSome { type ?0 }
required: Any => scala.collection.GenTraversableOnce[?B]
.flatMap {
^
哪個奇怪。由於toSet的結果不是某個{type?0}的Set [Class [?0]]。有什麼方法可以解決這個問題嗎?
如果你沒有提供'examples'的類型,怎麼可能有人可以回答你的問題? –
看起來像我的正確類型。你期望它是什麼類型? – JimN