我的代码是这样的:
val s = someOtherObject.subObjects().size match {
case size > 0 => "Size is greater than 0"
case _ => "Size is less than 0"
}
如何将match子句中的someOtherObject.subObjects().size的值赋给case语句中的size变量
我需要做的是:
val size = someOtherObject.subObjects().size
val s = size match {
case size > 0 => "Size is greater than 0"
case _ => "Size is less than 0"
}
发布于 2019-06-23 18:09:22
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将是大小的值。
发布于 2019-06-23 19:29:35
您可以为该变量指定一个名称并将其返回,如下所示:
val s = someOtherObject.subObjects().size match {
case size if size > 0 => size
case size @ _ => size
}
或者,您可以简单地使用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
}
https://stackoverflow.com/questions/56726110
复制