scala – 为什么我需要指定不关心输入的类型?
private val alwaysTrue = (_,_) => true 导致编译器抱怨它需要两个_的类型.为什么?他们只是被丢弃了,不应该被推断为Scala.Any? 解决方法
您必须显式提供匿名函数的参数类型,除非其他东西需要特定类型 – 在这种情况下,编译器将尝试推断该类型,如果可以的话.它在
SLS 6.23:
我正在稍微阅读这些行,但没有预期的类型,因此您必须明确提供类型. private val alwaysTrue = (_: Any,_: Any) => true 如果您有类似List(1,2,3).filter(_> 3)的内容,则预期类型为Int =>布尔值,因此不必提供参数类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |