你能在Swift字符串插值中使用字符串/字符文字吗?

Geo*_*man 11 swift

是否可以在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;
}
Run Code Online (Sandbox Code Playgroud)

我得到"预期","分隔符".

同样,如果我做同样的事情,但逃避报价,仍然没有骰子:

println( "Output: \(repeat(\"H\",20))" );
Run Code Online (Sandbox Code Playgroud)

我怀疑这是不可能的,说实话,没什么大不了的 - 我没有找到任何我不能通过在字符串插值之前做一点工作而轻易解决的例子,我想我只是在寻找确认这是不可能的.

Geo*_*man 3

从 Swift 2.1 开始可以完成: http://www.russbishop.net/swift-2-1

在此之前,这是不可能的。