powershellを使っていて必ず引っかかる理解不能な挙動である。この記事ではこの挙動について実験でわかったことを説明する。 その前に配列を可視化するために簡単な関数を定義しよう。 この関数を使ってどのような配列が定義されているかを確認しながら説明する。 function p { Param($obj) Write-Host (prettyprint $obj) } function prettyprint { Param($obj) $result = New-Object System.Text.StringBuilder; . { switch ($obj.GetType()) { { $_.BaseType -eq [System.Array] } { $sep = ", " $result.Append("[") for ($i = 0; $i -lt $obj.Length;