let string = "?Julius"
// ["?", "?J", "?Ju", "?Jul", "?Juli", "?Juliu", "?Julius"]
(1...string.count).map(string.prefix)
или
string.enumerated().map { string.prefix($0.offset + 1) }
… который пропускает обход строки, но является более уродливым. Наверное, не стоит.
extension String {
var ?: [Substring] { (1...count).map(prefix) }
}
// "?", "??", "???", "????"]
"????".?