[swift-users] Why do collections use the debugDescription on their elements?
martinr448 at gmail.com
Thu Jan 5 09:46:38 CST 2017
I wonder why the description method of collections use the debugDescription method to print their elements, and not the description method. Example:
let s = "a\"b"
print(s) // a"b
print(s.debugDescription) // "a\"b"
let x = 1.1
print(x) // 1.1
print(x.debugDescription) // 1.1000000000000001
let d = [ s : x ]
print(d) // ["a\"b": 1.1000000000000001]
- The embedded quotation mark is printed as " in print(s), but as \" in print(d).
- The floating point number is printed with a higher precision in the dictionary description.
The same happens with `Array`, `Set` and also `Optional`. Is there a special reason? It seems unnecessary and a possible cause for confusion to me.
More information about the swift-users