给一个整数x
,如果它在某个范围的边界内,我想返回x
。如果不是,则返回它违反的边界值。
def keepWithinRange(x:Int, min:Int, max:Int) : Int = {
if (x < min) return min;
if (x > max) return max;
return x;
}
有没有更优雅的方法来做到这一点?
最佳答案
我会这样写:
def keepWithinRange(x: Int, min: Int, max: Int) = math.max(min, math.min(max, x))
或者这个:
def keepWithinRange(x: Int, min: Int, max: Int) =
if (x < min) min else if (x > max) max else x
这两种方法都比在 Scala 中使用 return
控制流更符合习惯。
关于scala - Scala 范围内的剪辑编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146511/