2011-10-07 5 views
2

예를 들어이 걸릴 :

$var = "one","two","three" 
0..2 | select-object $var[$_] 

Index operation failed; the array index evaluated to null. 
At line:1 char:27 
+ 0..2 | select-object $var[ <<<< $_] 
    + CategoryInfo   : InvalidOperation: (:) [], RuntimeException 
    + FullyQualifiedErrorId : NullArrayIndex 

왜 $ _ 널인가?

답변

4

당신이 시도 선택 객체

을 사용하는 이유는 알 수없는이 :

$var = "one","two","three" 
0..2 | % { $var[$_]} 
+0

Ahh foreach. 그것은 그 일을합니다. 고맙습니다. :) –

+0

항상 도와 드리겠습니다! –

1

당신이 해시 테이블, 일명 계산 된 속성을 만들 필요가 선택 객체를 사용하려는 경우와 이름과 표현 키를 제공하십시오. 당신이 원하는 모든 경우,

$var | select -Index (0..2) 

그리고 BTW : 결과는

0..2 | select @{name='var';expression={$var[$_]}} 

var 
--- 
one 
two 
three 
+0

이 경우 select *를 사용할 수있는 올바른 방법이 아닙니다. 내 대답을 참조하십시오 :) – manojlds

+0

그것은 쪽지, 색인 매개 변수를 사용하여 +1했다. –

+0

그 이유는 기울임 꼴로 표시되었습니다. :) – manojlds

2

또한 다른 방식으로 선택 객체를 사용할 수있는 다음과 같은 예에서 하나의 속성, VAR과 오브젝트 것 배열에서 요소를 추출하면 배열 자르기를 수행 할 수 있습니다.

$var[0..2]