Kto rozumie pipe'y w PowerShellu?

0

Czy ktokolwiek jest w stanie powiedzieć czemu wywołanie Measure-Object na stringu daje poprawne wartości:

PS C:\Users\Riddle\PhpstormProjects> "welcome home lorem ipsum" | Measure-Object -Word -Line

Lines Words Characters Property
----- ----- ---------- --------
    1     4

Ale wsadzenie tego samego stringa do array'a i zrobienie na nim ForEach-Object już nie?

PS C:\Users\Riddle\PhpstormProjects\> @("welcome home lorem ipsum", "ddolor sit amet") | ForEach-Object {Measure-Object -Word -Line}

Lines Words Characters Property
----- ----- ---------- --------
    0     0
    0     0

Czy to jakaś specyfika Measure-Object? Czy może pipe'y w PowerShellu działają inaczej niż je rozumiem, np jakoś rozpakowują array'e czy coś?

4

W tej pętli nie odwołujesz się do obecnego wyniku iteracji. To powinno zadziałać:

 @("welcome home lorem ipsum", "ddolor sit amet") | ForEach-Object {$_ | Measure-Object -Word -Line}
1
ledi12 napisał(a):

W tej pętli nie odwołujesz się do obecnego wyniku iteracji. To powinno zadziałać:

 @("welcome home lorem ipsum", "ddolor sit amet") | ForEach-Object {$_ | Measure-Object -Word -Line}

Ale amatorski błąd zrobiłem. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1