15

このように作成された変数$aに配列があると仮定します。

$a  = ,@(1,2,3)
$a += ,@(4,5,6)
$a += ,@(7,8,9)
$a += ,@(10,11,12)

配列の一部、たとえば$a[1]と$a[2]を別の変数、たとえば$ bに抽出して、次のようにします。

$b[0] = @(4,5,6)
$b[1] = @(7,8,9)

単純なforループを使用してタスクを実行できますが、これを実行するためのより「エレガントな」方法があるかどうかを考えています...ワンライナーかもしれませんか?

前もって感謝します。

4

2 に答える 2

28

Range演算子を使用して、配列をスライスできます。

$b = $a[1..2]
于 2012-09-18T14:19:27.120 に答える
4

Range演算子は動的な値をサポートしていることに注意してください。たとえば、範囲を動的に計算する場合に非常に便利です。

$a = @(0,1,2,3,7)
$b = @(4,5,6)
$twotoseven = $a[($a.Length-($a.Length-2))..($a.Length-2)] + $b + $a[-1]

出力:

2 3 4 5 6 7
于 2016-08-11T15:53:28.210 に答える