This topic contains 4 replies, has 4 voices, and was last updated by
September 13, 2018 at 9:52 pm #111766ParticipantPoints: 1Rank: Member
Why does ($a = "this") return "this"? Also, what is that return/output called?
Is there an implicit return there? I know ("this") returns "this", but I don't understand why ($a = "this") returns "this".
September 13, 2018 at 10:44 pm #111778ParticipantPoints: 157Rank: Participant
because it invokes the default cmdlet
in other words,
is the same as
$a = "this"
is a simple variable assignment that outputs nothing. Nevermind that PowerShell also "determines" the data type of the variable $a on the fly
However, when you enclose an expression in brackets like:
($a = "this")
Here's what happens:
– PowerShell evaluates the expression "this", next
– PowerShell "picks" a suitable data type for variable $a, next
– PowerShell assigns the $a variable the value from the expression "this", next
– PowerShell also puts the value from the expression "this" in the stio pipeline (outputs it to console)
This is useful in if statements or while loops where you want to evaluate an expression/condition as well as save it to a variable for further processing in the script block of the if statement or while loop for example.
September 13, 2018 at 10:49 pm #111781ParticipantPoints: 0Rank: Member
With PowerShell, toi do not have to type thé variable, like you Say it's implicite.
If i do
Write-host " Valeur de X : $x"
It will equal to Valeur de X : test.
And the variable is a string.
September 13, 2018 at 10:54 pm #111784ParticipantPoints: 0Rank: Member
Sorry, i haven't saw your replay Boutros.
September 14, 2018 at 8:53 am #111788ParticipantPoints: 522Rank: Major Contributor
That's a nice way to do an assignment with a "passthru", thanks. I've seen people do something like this, but it fails:
$a = 'hi' | measure
The topic ‘Why does this work?’ is closed to new replies.