是否可以在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))" );
我怀疑这是不可能的,说实话,没什么大不了的 - 我还没有发现任何一个例子,我可以通过在字符串之前做一些工作来轻松解决插值,我想我只是在寻找确认它是不可能的。
答案 0 :(得分:3)
可以从Swift 2.1开始: http://www.russbishop.net/swift-2-1
在此之前,这是不可能的。
答案 1 :(得分:0)
我希望是:
let strfunc = repeat("H",20) as string
println( "Output: \(strfunc)" );