[swift-evolution] [Pitch] New collection-based 'repeat' API
Brent Royal-Gordon
brent at architechies.com
Fri May 12 04:31:50 CDT 2017
> On May 1, 2017, at 8:29 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
>
> Heck, we don't even have left padding for strings!
For what it's worth, a good Swift implementation of left-padding would probably *use* `repeatElement`:
extension String {
mutating func leftPad(to intendedCount: Int, with char: Character = " ") {
let extraCount = max(intendedCount - count, 0)
let extras = repeatElement(char, count: extraCount)
insert(contentsOf: extras, at: startIndex)
}
}
And, for that matter, `repeatElement` could be used to implement "repeat this collection":
repeatElement(c, count: n).joined()
So I agree with you, Xiaodi, that there's no rush to do this. If we change our minds later, we can always turn `Repeated<T>` into a generic typealias for `RepeatedCollection<CollectionOfOne<T>>`.
--
Brent Royal-Gordon
Architechies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170512/93f2deb1/attachment.html>
More information about the swift-evolution
mailing list