2010-04-27 6 views

답변

1

이 변수가 scriptblocks를 할당하는 경우 (내 경우)이 달성 할 수있는 방법이 밝혀 :

&{ 
    $h_one = { "one" } 
    $h_two = { "two" } 
    $h_three = { "three" } 
    $h_four = { "four" } 

    $byStartLines= @{} 
    get-variable -name "h_*" -scope local | % { $byStartlines[($_.value.startposition.startline)] = $_ } 
    $order = ([int[]] $byStartLines.keys) | sort 
    $order | %{ $byStartLines[$_].name } 
} 

한 줄에 여러 개의 scripblocks를 선언하면 상황이 더 복잡해 지겠지만, 그다지 요령은 아닙니다.

0

나는 답이 '아니오'일 것이라고 생각합니다.

$name이 생성 된시기를 나타내는 항목 (이 항목을 dir variable:name으로 가져옴)에 아무 것도 없으므로

실행 전에 실행 영역의 파이프 라인을 검사하여 사용자 지정 PSH 호스트가 뭔가를 수행 할 수 있음을주의해야합니다 (그러나 이것은 사용자 고유의 파서를 작성해야 할 가능성이 높으며 아마도 여전히 invoke-expression을 처리하지 못합니다).

(당신이 원하는 이유를 설명하면 더 좋은 답변이 가능할 수 있습니다.)

+0

나는 scriptblocks에서 테스트를 정의하고 있는데, 나는 그것을 순서대로 실행하고 싶다. – guillermooo

+4

테스트를 배열에 넣을 수 있습니다. 그러면 명령이 보장됩니다. –

+0

흠 ... 그래, 할 일이 분명해 보인다. – guillermooo

관련 문제