трубы и петли foreach
Недавно я играл с PowerShell и заметил странное поведение при использовании каналов иforeach
петли, которые я не мог понять.
Этот простой код работает:
$x = foreach ($i in gci){$i.length}
$x | measure -max
Имеет смысл.
Но этот код не будет:
foreach ($i in gci){$i.length} | measure -max
И я получаю следующую ошибку:
An empty pipe element is not allowed.
At line:1 char:33
+ foreach ($i in gci){$i.length} | <<<< measure -max
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : EmptyPipeElement
В чем разница между этими двумя методами и почему не работает второй?