PowerShell のカウンター

Migel Hewage Nimesha 2024年2月15日
PowerShell のカウンター

プログラミングでは、プログラム内で何をカウントする必要があるかを追跡するためにカウンターが使用されます。 通常、これは 0 に初期化された数値型の変数です。

プログラム内でカウンターをインクリメントするには、いくつかの方法があります。 この記事では、PowerShell でカウンターを実装するためのさまざまなアプローチに焦点を当てます。

PowerShell の基本カウンター

カウンタを実装する基本的な方法は、変数を宣言し、次のように 0 に初期化することです。

$counter = 0

$counter 変数の値を PowerShell コマンド ウィンドウに出力してみましょう。

Write-Host $counter

出力:

powershell のカウンター - 基本的なカウンター パート 1

$counter 変数の値をインクリメントするには、2つの方法を使用できます。 伝統的な方法の 1つは、$counter に 1 を追加し、結果を $counter に再割り当てすることです。

$counter = $counter + 1

出力:

powershell のカウンタ - 基本的なカウンタ パート 2

もう 1つの方法は、インクリメント (++) 演算子を使用することです。

$counter++

$counter 変数の値を出力しましょう。これは 2 でなければなりません。

powershell のカウンター - 基本的なカウンター パート 3

予想どおり、$counter 変数の値は 2 です。

カウンタ変数をインクリメントするには 2つの方法があります。

  • ポストインクリメント
  • プレインクリメント

例を使用して、2つの違いを理解しましょう。

PowerShell のポスト インクリメント演算子

通常、ポスト インクリメントは、ポスト インクリメントが使用されている式の実行後に変数の値をインクリメントします。 次の例で簡単に理解できます。

最初に $countVar という変数を宣言し、それに 0 を代入しましょう。

$countVar = 0
Write-Host $countVar

出力:

powershell のカウンター - インクリメント パート 1 を投稿

次に、post-increment を使用して $countVar の値をインクリメントします。

$counterHolder = $countVar++
Write-Host $counterHolder

出力:

powershell のカウンター - インクリメントの投稿パート 2

ご覧のとおり、$counterHolder 変数は 0 を保持しています。これは、$countVar++ がその式内でインクリメントされなかったことを意味します。 しかし、$countVar の実際の値はインクリメントされているはずです。 $countVar 変数の値を出力しましょう。

powershell のカウンター - インクリメントの投稿パート 3

PowerShell のプレインクリメント演算子

pre-increment 演算子は、変数の値を式で使用する前にインクリメントするために使用されます。 次の例でこれを理解しましょう。

まず、$preIncrVar という変数を宣言し、0 に初期化します。

$preIncrVar = 0
Write-Host $preIncrVar

powershell のカウンター - 事前インクリメント パート 1

次のようにプレインクリメント演算子を使用しましょう。

$preIncrVarHolder = ++$preIncrVar
Write-Host $preIncrVarHolder

出力:

powershell のカウンター - 事前インクリメント パート 2

予想どおり、$preIncrVarHolder 変数の値は 1 です。これは、プレインクリメント オペレータが、使用されている式内で $preIncrVar 変数の値をインクリメントすることを意味します。 これらのアプローチは、PowerShell の forwhile、および do...while ループで使用できます。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.