0
這是一個非常簡單的Scala代碼,但我想知道是否有任何方法來改進它。如何改進`list.map {case 3 => 6;情況我=>我}`?
val list = List(1, 2, 3, 4)
list.map {
case 3 => 6
case i => i
}
我只想項目3
轉換,以防止他人,因爲他們是什麼。該代碼現在很簡單,但我仍然覺得case i => i
部分不是那麼必要。
有什麼辦法可以改善它,所以我可以只提供核心邏輯case 3 => 6
?
我能想到的解決方法是定義諸如自定義函數:
def change(list: List[Int])(f: PartialFunction[Int, Int]): List[Int] = {
list.map { item =>
if (f.isDefinedAt(item)) f(item) else item
}
}
然後:
change(list)({ case 3 => 6})
但我不知道是否有一些已經做到了這一點。
像這樣的事情? 'list.map(x => if(x == 3)6 else x)' – jwvh