Skip to content

Instantly share code, notes, and snippets.

@michaelevensen
Created April 3, 2023 08:38
Show Gist options
  • Save michaelevensen/1cef374a1a59cb5c45793831f336634f to your computer and use it in GitHub Desktop.
Save michaelevensen/1cef374a1a59cb5c45793831f336634f to your computer and use it in GitHub Desktop.
Really nice extension for `min(max())`
// Example use:
// let progress = val.clamped(to: 0...1)
extension Comparable {
func clamped(to limits: ClosedRange<Self>) -> Self {
return min(max(self, limits.lowerBound), limits.upperBound)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment