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

时间:2014-08-11 14:34:10

标签: 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;
}

我得到"预期','分离器"

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

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

我怀疑这是不可能的,说实话,没什么大不了的 - 我还没有发现任何一个例子,我可以通过在字符串之前做一些工作来轻松解决插值,我想我只是在寻找确认它是不可能的。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

我希望是:

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