У меня есть такой код:
val s = someOtherObject.subObjects().size match { case size > 0 => "Size is greater than 0" case _ => "Size is less than 0" }
Как мне присвоить значение someOtherObject.subObjects (). Size в предложении match переменной размера в операторе case
Должен ли я сделать:
val size = someOtherObject.subObjects().size val s = size match { case size > 0 => "Size is greater than 0" case _ => "Size is less than 0" }
val s = size match { case x if x > 0 => ("Size is greater than 0", x) case x @ _ => ("Size is less than 0", x) }
s будет кортежем (String, Int)
s._1 будет строковым сообщением
s._2 будет значением размера.
Вы можете присвоить этой переменной имя и вернуть ее обратно так:
val s = someOtherObject.subObjects().size match { case size if size > 0 => size case size @ _ => size }
Или вы можете просто использовать if выражения:
if
val size = someOtherObject.subObjects().size val result = if(size > 0) { // Size is greater than zero size } else { // Size is less than or equal to zero size }