2015-06-27 26 views
2

在打印陣列時如何從左側和右側擺脫括號?如何在打印時擺脫陣列支架

var array = ["1", "2", "3", "4"] 
println("\(array)") //It prints [1, 2, 3, 4] 

var arrayWithoutBracketsAndCommas = array. //some code 

println("\(arrayWithoutBracketsAndCommas)") //prints 1 2 3 4 

回答

9

你可以這樣做:

extension Array { 
    var minimalDescription: String { 
     return " ".join(map { "\($0)" }) 
    } 
} 

["1", "2", "3", "4"].minimalDescription // "1 2 3 4" 

與SWIFT 2,使用Xcode的B6,來了joinWithSeparator方法上SequenceType

extension SequenceType where Generator.Element == String { 
    ... 
    public func joinWithSeparator(separator: String) -> String 
} 

這意味着你可以這樣做:

extension SequenceType { 
    var minimalDescrption: String { 
     return map { String($0) }.joinWithSeparator(" ") 
    } 
} 

[1, 2, 3, 4].minimalDescrption // "1 2 3 4" 

夫特3:

extension Sequence { 
    var minimalDescription: String { 
     return map { "\($0)" }.joined(separator: " ") 
    } 
}