Output
The functions that I've shown so far in this chapter have either explicitly used the return keyword, or used write-host to output text to the console instead of returning the data. However, the mechanism that PowerShell uses for function output is much more complex for several reasons.
The first complication is that the return
keyword is completely optional. Consider the following four functions:
We can see that they all output the same value (100
) by adding them all together:
The reason that these functions do the same thing is that PowerShell uses the concept of streams to deal with data coming out of a function. Data that we consider "output" uses the output stream. Any value that isn't used somehow is written to the output stream, as is a value given in a return statement. A value can be used in many ways. Some common ways of using a value are:
Assigning the value to a variable
Using the value as a parameter to a function, script, or cmdlet
Using the value in an expression
Casting the...