0
其实,我写了一个scala脚本,它正在根据某个参数对函数进行排序。看下面的代码片段:如何重构scala代码?
object TestTypes {
type SortFn = ((String, TestMetricFields)) => Double
case class TestMetricFields(maths: Int, science: Int)
}
trait TestMarks {
def sName: String
def getSortFun(): SortFn
}
object TestMarkStudent extends TestMarks {
override def sName: String= "xxx"
override def getSortFun(): SortFn = {
input: (String, TestMetricFields) => input._2.maths + input._2.science
}
}
这里我想避免在上面的代码中使用._2
。如何重写Scala代码?
我试过以下,但我失败了。
override def getSortFun(): (String, TestMetricFields) => SortFn = {
(sName: String, testField: TestMetricFields) => {
input: (String, TestMetricFields) => 1.0 * testField.maths + testField.science
}
}
谁能帮我重构代码,而无需使用._2
?
你有什么要避免使用'_2'? – Todd