【发布时间】:2017-03-07 17:34:22
【问题描述】:
我定义了一个 Scalatest 助手来比较两个鞍框架,如下所示:
def compareFrames[RX, CX](result: Frame[RX, CX, Double], expected: Frame[_, _, Double], tol: Double = 1e-10): Unit = {
// TODO: implement
???
}
但现在我想添加一组列索引元素,我想跳过这些元素进行测试,例如Matlab 显然有一个不同的公式来计算偏度而不是鞍...注意 Set 元素类型必须与 Frame 列索引类型相同:
def compareFrames[RX, CX](result: Frame[RX, CX, Double], expected: Frame[_, _, Double], toSkip: Set[CX] = Set(), tol: Double = 1e-10): Unit = {
// TODO: implement
???
}
但是在没有指定默认参数的情况下调用函数时会导致以下编译器错误:
Error:(53, 7) type mismatch;
found : scala.collection.immutable.Set[Nothing]
required: Set[String]
Note: Nothing <: String, but trait Set is invariant in type A.
You may wish to investigate a wildcard type such as `_ <: String`. (SLS 3.2.10)
Error occurred in an application involving default arguments.
compareFrames(result, expected)
【问题讨论】:
标签: scala