在 Swift 中,您可以使用闭包(closure)来创建一个类似于 lambda 表达式的功能。以下是如何将原始代码改写为闭包形式并进行范围检查:
let clamp: (Float, Float, Float) -> Float = { value, minValue, maxValue in
return value < minValue ? 0 : (value > maxValue ? 0 : value)
}
body.joints[0].x = clamp(Float(point.x * originalImageSize.width), 0, originalImageSize.width)
body.joints[0].y = clamp(Float(point.y * originalImageSize.height), 0, originalImageSize.height)
在这个例子中,clamp 闭包会根据提供的最小值和最大值来限制 x 和 y 的值。如果超出范围,则赋值为0。
内容由零声教学AI助手提供,问题来源于学员提问




