News for hackers. Stuff that matters.
Re:Zig 0.9.0 by saagarjha on Tuesday December 21, 2021 @03:50AM (#29635393)
I don't think Swift has a clamping function in the standard library, unfortunately, so we'll have to roll one ourselves. One question remains of what should be done for the empty string; I've chosen to return nil for this case.

  extension String {
      func character(atClampedIndex index: Int) -> Character? {
          guard !self.isEmpty else {
              return nil
          }
          let clamped = max(0, min(index, count - 1))
          return self[self.index(startIndex, offsetBy: clamped)]
      }
  }

There are no comments on this comment yet.