どうも!リョクちゃです。
今回はあるファイルを読み取ったデータや、
既に複数のデータがまとまって変数に格納されている場合があるとします。
そんな時に個々に処理をしていきたいんだけど、どうしたらいいだろう?
と考えた時の解決方法を紹介していきます。
ちなみに前回はこちら
目次
PowerShellにおける配列の作り方
PowerShellで作る配列には何パターンかあります。
※ 今回は書き方を2パターン載せてます。
比較的よく使われるだろうパターンは以下のような形になります。
または
どちらの記述も同じ内容になります。
好きな方を使ってみてください。
個人的には、@の後に括弧()で囲んだ記述を使う方が好ましいと思います。
何を表しているかも一目で見てわかるので。
例) 配列を作る
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$aryTest = 1,2,3,4,5 # 1 # 2 # 3 # 4 # 5 $aryTest2 = @(1, 2, 3, 4, 5) # 1 # 2 # 3 # 4 # 5 |
配列から値を取り出す
作った配列から値を取り出すには、以下のような形になります。
インデックス → 目録 配列のどこに格納されているかを表す番号になります。
イメージとしては、下図のような。
例) 先ほど作った変数$aryTestからインデックス1のデータを抜き出します。
1 2 |
$aryTest[1] # 2 |
全ての値をforeachを使って取り出す
今度は、先ほど作った変数$aryTestから1つずつをインデックスを指定しないで、
自動的に取り出していきます。
これを行うには、foreachといった文法を使います。
他の言語にもありますね。
foreachは制御構文を1つで、
コレクション型変数に格納された値を1つずつ取り出すのに力を発揮します。
以下のような文法になります。
1 2 3 4 5 |
foreach ($<変数> in $<配列変数>) { 処理1 } |
()を忘れないように!意外と忘れがちです。
例) 試しに変数$aryTestの値をforeachを使って取り出してみます。
1 2 3 4 5 6 7 8 9 |
foreach ($test in $aryTest) { Write-Host $test } # 1 # 2 # 3 # 4 # 5 |
といった結果になるかと思います。
foreachを使って、値を個々に取り出すことができました。
個々に取り出した後は、あらかじめ決まった値であれば、
分岐させて処理を書いてあげることで好きにカスタマイズすることができますね。
実際に手を動かして、間隔をつかんでみてください。
これを覚えたら、更なるステップアップをしていきましょう。
まとめ
配列を作って、値を1つずつ取り出すためにforeachを使った方法を紹介していきました。
これだけでも覚えること多かったかと思います。
1つずつゆっくり咀嚼して学ぶことで確実に力を付けることができます。
繰り返しになりますが、まずは手を動かして感覚をつかんでもらえたらなと思います。
最後までお読みいただき、ありがとうございます。