我的直覺說,下面的代碼可以縮短,但我不知道如何。你可以幫我嗎?縮短我的代碼
def asGraphingFunction[A : Numeric, B : Numeric](f: PartialFunction[A, B]): Double => Double = {
val (numericA, numericB) = (implicitly[Numeric[A]], implicitly[Numeric[B]])
(x: Double) => {
val xa: A = numericA.fromInt(x.toInt)
if(f.isDefinedAt(xa))
numericB.toDouble(f(xa))
else
0.0
}
}
我不知道斯卡拉,但是有什麼特別的理由說明爲什麼你想讓代碼「更短」嗎?它對我來說似乎相當易讀,是不是比代碼行數更重要? –
@ michael - 他們齊頭並進,看到我對這個 –