2012年5月24日木曜日

◆配列の連結

配列の連結は今までも何度も出ていますし今更なのですが若干紛らわしいのでおさらいを。

以下の様にカンマで繋げてもなんとなく良さそうに見える。
image

しかし、通常は配列の連結には「+」を使う。
image

パイプして使ってみても一見違いが見えない。
image

しかしこの違いを把握しておかないと???といった事態に陥る事がある。

 

image

これは予想通り。

でももう一方は、
image

っと何やら???な結果を返してくる。

まぁ、これが当然だよねと思えればPowerShell免許皆伝?
(そんな大げさな話ではないか・・・)

まぁ、逆に言えばこの結果を意図して使う場合もあるだろう。

一応初心者の方のために解説しておくと、「$a+$b」の方はパイプラインに渡っていくのは個々の要素であり、一方「$a,$b」でパイプラインに渡っていくのは「$a」と「$b」そのものである。
image

なので、「$a,$b」の場合のパイプライン中での処理は「$a + 1」と「$b + 1」となる。
「$a + 1」は「$a」の配列の最後に「1」を追加して「1,2,3」が「1,2,3,1」となり「$b + 1」では「4,5,6」が「4,5,6,1」、両方合わせると「1,2,3,1,4,5,6,1」となるのである。

0 件のコメント:

コメントを投稿