String.init (stringInterpolation :) с массивом строк - PullRequest
0 голосов
/ 18 марта 2019

Я перечитывал некоторые ресурсы о строковой интерполяции Swift 5 и пробовал это на игровой площадке.Я успешно объединил два отдельных String s, но я не уверен, как объединить Array из String s.Вот что я сделал ...

String(stringInterpolation: {
    let name = String()
    var combo = String.StringInterpolation(literalCapacity: 7, interpolationCount: 1)
    combo.appendLiteral("Sting One, ")
    combo.appendInterpolation(name)
    combo.appendLiteral("String Two")

    print(combo)
    return combo
}())

Как бы вы сделали что-то подобное с Array из String с?

1 Ответ

1 голос
/ 18 марта 2019

Неясно, что это должно быть связано с интерполяцией. Возможно, есть неправильное понимание того, что такое интерполяция строк? Если цель состоит в том, чтобы объединить массив строк в одну строку, разделенную запятыми, просто продолжайте и объедините массив строк в одну строку:

let arr = ["Manny", "Moe", "Jack"]
let s = arr.joined(separator: ", ")
s  // "Manny, Moe, Jack”

Если дело в том, что тип элемента массива неизвестен, но может быть представлен в виде строки, сопоставьте через String(describing:) по ходу дела:

let arr = [1,2,3]
let s = arr.map{String(describing:$0)}.joined(separator: ", ")
s  // "1, 2, 3”
...