匹配带有TuppleN参数的案例类,我得到这样的突出显示 “提取器的参数数量错误” ...当然,这样的代码可以编译并完美执行
简单的例子
case class SomeTestClass(param: (String, String))
val t = SomeTestClass("love" -> "life")
t match {
// here i get highlighting "wrong number arguments for extractor"
case SomeTestClass(Tuple2(param1, param2)) => true
case _ => false
}
相同的故事
case SomeTestClass((param1, param2)) => true
case SomeTestClass(param) => true
如何摆脱这种情况?似乎不是以前,而且我没有升级IDE
UPD:禁用类型控制不是一个好主意,因为它非常有用,可以使用/ * _ * /折叠结构进行工作,但是它只是将一个麻烦替换为另一个麻烦,因此似乎没有太多吸引力
答案 0 :(得分:2)
可能不是解决该问题的最佳方法,但是您可以使用/*_*/
将错误突出显示的代码片段括起来,并在该代码的特定部分中禁用突出显示。
这看起来像是个bug,最能说明问题的地方是IDEA bug跟踪器。在许多地方,智能荧光笔可能会不同意scalac。
无论如何,您可以通过将元组展开为命名变量来避免这种情况。