Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala SortWith和自定义比较器函数 sortKey匹配{ case SortKeys.ActualUnits=>{ 响应者索特维思{ (u.aggregations.actualnits.get,u.aggregations.actualnits.get)=> 比较(u.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get, (对) } } } def比较(a:BigDecimal,b:BigDecimal,sortOrder:Boolean)={ 排序器匹配{ 大小写正确=>ab>a } }_Scala - Fatal编程技术网

Scala SortWith和自定义比较器函数 sortKey匹配{ case SortKeys.ActualUnits=>{ 响应者索特维思{ (u.aggregations.actualnits.get,u.aggregations.actualnits.get)=> 比较(u.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get, (对) } } } def比较(a:BigDecimal,b:BigDecimal,sortOrder:Boolean)={ 排序器匹配{ 大小写正确=>ab>a } }

Scala SortWith和自定义比较器函数 sortKey匹配{ case SortKeys.ActualUnits=>{ 响应者索特维思{ (u.aggregations.actualnits.get,u.aggregations.actualnits.get)=> 比较(u.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get, (对) } } } def比较(a:BigDecimal,b:BigDecimal,sortOrder:Boolean)={ 排序器匹配{ 大小写正确=>ab>a } },scala,Scala,聚合是一个案例类 尝试使用自定义比较器函数来避免为每个sortKey定义两个语句 编译器抛出错误:不是合法的形式参数 sortKey match { case SortKeys.ActualUnits => { ResponseList.sortWith { (_.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get) => compare(_.

聚合是一个案例类

尝试使用自定义比较器函数来避免为每个sortKey定义两个语句

编译器抛出
错误:不是合法的形式参数

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
    }
}
不太确定您在这里要做什么,但正如错误明确指出的那样,
\uu.aggregations.ActualUnits.get
不是合法的正式参数。我想你是说

 (_.aggregations.ActualUnits.get, _.aggregations.ActualUnits.get) =>
            compare(_.aggregations.ActualUnits.get,
                _.aggregations.ActualUnits.get,
                true)

您还必须用您的SortKeys代码更新您的问题,以便其他人可以帮助您。我想您在eta扩展方面有错误。似乎您尝试访问一个占位符两次。是的,您是对的。我几分钟前就知道了。谢谢你的帮助。
 (x, y) =>
            compare(x.aggregations.ActualUnits.get,
                y.aggregations.ActualUnits.get,
                true)