2つのオプションを扱うこのコードを書くのにもっと慣れて/簡単な方法がありますか?2つのオプションを評価するときの条件付きロジック
object Test extends App {
val colors = Some(1)
val sizes = Some(2)
val ids = colors match {
case None => {
sizes match {
case None => getRegularIds
case Some(sizes) => getSizeIds
}
}
case Some(colors) => {
sizes match {
case None => getColorIds
case Some(sizes) => getColorIds ++ getSizeIds
}
}
}
println(ids)
def getColorIds = Seq(1,2,4)
def getSizeIds = Seq(4,5,6)
def getRegularIds = Seq(7,8,9)
}
Scalaは非常に簡潔で、同じ結果を達成するためのよりクリーンな方法があると私は思っています。あなたの時間をありがとう。
ありがとうございました。とても清潔です。 – user455497
一方、ネストされたロジックは、より枝が浅くなるため、高速になります。 –
@PaulDraperパフォーマンス向上の0.0000001%は保守性を上回るものではありません。 – ipoteka