小编Dan*_*ias的帖子

将部分类型参数列表推断为泛型值参数

为什么 Scala 不能像这样推断?

def notInfering[A,B,C](aa: A=>Boolean, bbcc: Tuple2[B,C]) = bbcc
notInfering[Int]((_ > 3), ("string", 123))
Run Code Online (Sandbox Code Playgroud)

编译器生气地说我需要指定类型参数 B 和 C。

这些工作,但它们并不理想:

notInfering[Int,String,Int]((_ > 2), ("string", 123))
notInfering(((a: Int) => a > 2), ("string", 123))
Run Code Online (Sandbox Code Playgroud)

理论上,Scala 不应该能够推断出最后两个参数吗?这可以用另一种方式完成或表达吗?如果不是,这是否是 Scala 能够推断部分类型参数列表的一个好功能?

scala typeclass

2
推荐指数
1
解决办法
442
查看次数

标签 统计

scala ×1

typeclass ×1