debugPrint(_:separator:terminator:to:)
Writes the textual representations of the given items most suitable for debugging into the given output stream.
Declaration
func debugPrint<Target>(_ items: Any..., separator: String = " ", terminator: String = "\n", to output: inout Target) where Target : TextOutputStreamParameters
- items:
Zero or more items to print.
- separator:
A string to print between each item. The default is a single space (
" "). - terminator:
The string to print after all items have been printed. The default is a newline (
"\n"). - output:
An output stream to receive the text representation of each item.
Discussion
You can pass zero or more items to the debugPrint(_:separator:terminator:to:) function. The textual representation for each item is the same as that obtained by calling String(reflecting: item). The following example prints a closed range of integers to a string:
var range = "My range: "
debugPrint(1...5, to: &range)
// range == "My range: ClosedRange(1...5)\n"To print the items separated by something other than a space, pass a string as separator.
var separated = ""
debugPrint(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ", to: &separated)
// separated == "1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0\n"The output from each call to debugPrint(_:separator:terminator:to:) includes a newline by default. To print the items without a trailing newline, pass an empty string as terminator.
var numbers = ""
for n in 1...5 {
debugPrint(n, terminator: "", to: &numbers)
}
// numbers == "12345"