文字列補間で表示されるテキスト出力を変更するにはどうすればよいですか?
Printable
プロトコルは、最も明白に見えますが、それは、例えば、文字列の補間とインスタンスを印刷し、両方に無視されています:
struct Point : Printable
{
var x = 0
var y = 0
var description : String {
return "(\(x), \(y))"
}
func toString() -> String {
return description
}
}
同様に、このtoString()
規則も影響しません。
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)
構造に独自の文字列表現を使用するPlayGroundでは、動作が再び異なります。
p // {x 10, y 20}
インスタンスの表示方法を変更する方法はありますか?