在 Scala 中玩耍时,我遇到了一些我认为应该是可能的事情,但我不知道该怎么做。
我正在返回一个受给定最小值/最大值限制的值。使用 if-else 语句,函数将如下所示:
def set(n: Int, min: Int, max: Int): Int =
{
if (n < min) return min
if (n > max) return max
return n
}
我想知道是否可以通过模式匹配(优雅地)做到这一点。我尝试了以下方法,但它在语法上不正确:
def set(n: Int, min: Int, max: Int): Int = n match
{
case (n < min) => min
case (n > max) => max
case _ => n
}
我认为有一种方法可以通过混合 case 和 if 语句来做到这一点,但是当我这样做的时候,我还不如只使用标准的 if/else 链。是否有正确的语法来做我正在尝试的事情?