Powershellの変数はかなり柔軟だ。
Powershellで厳密な型付けにこだわるのはナンセンスというもの。キャストだろうがボクシングだろうがどうぞご自由に?。
しかし、一応型付けもできるということは知っておいたほうが良いだろう。
PS>$a = 1 IsPublic IsSerial Name BaseType PS>$a = "1" IsPublic IsSerial Name BaseType PS>[int]$a = 1 IsPublic IsSerial Name BaseType PS>$a = "A" PS>$arr = 1,2,3 IsPublic IsSerial Name BaseType PS>$arr = [int[]]1,2,3 IsPublic IsSerial Name BaseType PS>$arr = [int[]](1,2,3) IsPublic IsSerial Name BaseType PS>$arr += 4 IsPublic IsSerial Name BaseType PS>[int[]]$arr = 1,2,3 IsPublic IsSerial Name BaseType PS>$arr += 4 IsPublic IsSerial Name BaseType |
[int[]]1,2,3 がobject配列になっているのは型指定が1にしか効いていないからだろう。括弧で囲めばint配列になってくれる。
しかし、4を追加した時点でobject配列になってしまう。
確実にint配列にしたいときは、 [int[]]$arr = 1,2,3 こんな感じで。
0 件のコメント:
コメントを投稿