Подтвердить что ты не робот

Можете ли вы использовать строковые/символьные литералы в интерполяции строк Swift?

Можно ли использовать литерал String/Character в строковой интерполяции в Swift?

В справочнике по языку говорится:

Выражение, которое вы пишете в круглых скобках внутри интерполированной строки, не может содержать неизолированную двойную кавычку (")...

Это немного нечеткое для меня, так как кажется, намеренно оставляют лазейку сбежавших двойных кавычек.

Если я попробую:

println( "Output: \(repeat("H",20))" );

func repeat( char:Character, times:Int ) -> String {
    var output:String = "";
    for index in 1...times {
        output += char;
    }
    return output;
}

Я получаю "Ожидаемый", "разделитель".

Точно так же, если я делаю то же самое, но избегаю кавычек, до сих пор нет кубиков:

println( "Output: \(repeat(\"H\",20))" );

Я подозреваю, что это просто невозможно, и, честно говоря, ничего особенного - я не нашел никакого примера, который я не могу легко решить, выполнив небольшую работу перед интерполяцией строки, я думаю, что я просто ища подтверждение, что это просто невозможно.

4b9b3361

Ответ 2

Я надеюсь, что это:

let strfunc = repeat("H",20) as string
println( "Output: \(strfunc)" );