Làm cách nào để sửa đổi kết quả đầu ra dạng văn bản được hiển thị trong nội suy chuỗi?
Các Printable
giao thức trông rõ ràng nhất nhưng nó bỏ qua trong cả chuỗi suy và khi in Ví dụ, ví dụ như:
struct Point : Printable
{
var x = 0
var y = 0
var description : String {
return "(\(x), \(y))"
}
func toString() -> String {
return description
}
}
Tương tự như vậy, toString()
quy ước cũng không có hiệu lực:
var p = Point(x: 10, y: 20)
println(p) // V11lldb_expr_05Point (has 2 children)
println("\(p)") // V11lldb_expr_05Point (has 2 children)
println(p.description) // (10, 20)
println("\(p.description)") // (10, 20)
Hành vi lại khác trong PlayGround sử dụng biểu diễn Chuỗi của riêng nó cho cấu trúc, tức là:
p // {x 10, y 20}
Có cách nào tôi có thể thay đổi cách hiển thị một phiên bản không?