Comment Comment by joeyaiello Unfortunately, we can't ever change that one, or the whole world of existing stuff will break.It's intended as a shell semantic where anything bare on the command line just gets run, no matter your scope.However when we introduced classes, we thought it was a more "dev-oriented" semantic, so we changed return there.This will only return 'this will return': class foo { [string] ReturnTest() { 'this will not return' return 'this will return' } } ([foo]::new()).ReturnTest() parent joeyaiello 5 years ago
It's intended as a shell semantic where anything bare on the command line just gets run, no matter your scope.
However when we introduced classes, we thought it was a more "dev-oriented" semantic, so we changed return there.
This will only return 'this will return':