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 件のコメント:
コメントを投稿