sortKey match {
case SortKeys.ActualUnits => {
ResponseList.sortWith {
(_.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get) =>
compare(_.aggregations.ActualUnits.get,
_.aggregations.ActualUnits.get,
true)
}
}
}
def compare(a: BigDecimal, b: BigDecimal, sortOrder: Boolean) = {
sortOrder match {
case true => a < b
case false => b > a
}
}
聚合是一个案例类。
尝试使用自定义比较器函数来避免为每个sortKey定义两个语句。
编译器抛出error: not a legal formal parameter
。
答案 0 :(得分:1)
(_.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get) =>
compare(_.aggregations.ActualUnits.get,
_.aggregations.ActualUnits.get,
true)
不确定你在这里尝试做什么,但_.aggregations.ActualUnits.get
,正如错误明确指出的那样,不是一个合法的正式参数。我想你的意思是
(x, y) =>
compare(x.aggregations.ActualUnits.get,
y.aggregations.ActualUnits.get,
true)