В чем причина добавления ключевого слова case в Scala?
Помимо:
case class A
...кейс что довольно полезно?
Почему мы должны использоватьcase
вmatch
? Не было бы:
x match {
y if y > 0 => y * 2
_ => -1
}
... бытьмного красивее и лаконичнее?
Или почему мы должны использоватьcase
когда функция принимает кортеж? Скажем, у нас есть:
val z = List((1, -1), (2, -2), (3, -3)).zipWithIndex
Теперь не:
z map { case ((a, b), i) => a + b + i }
...путь страшнее, чем просто
z map (((a, b), i) => a + b + i)
...?