4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【PowerShell】関数のswitchパラメーター

Last updated at Posted at 2022-12-07

はじめに

先日に職場で見かけたPowerShellのコードで、関数のパラメーターに「switch」という見慣れないデータ型が指定されていました。
私が今まで使ってきた言語では見たことがないデータ型だったので、今回は「switch」というパラメーターについて調べた結果をまとめてみました。

switchパラメーターとは?

  • こちらの記事には、「switch パラメータは引数の値が指定されなくてもその、引数名が指定されたかだけで判断します」と書かれています。
  • 前回の記事では-パラメーター名 {値}という書き方をしましたが、-パラメーター名だけで引数が指定されたことになるようです。

switchパラメーターの使い方

  • パラメーターに[string]などのデータ型の代わりに、[switch]と指定します。
  • switchパラメーターはブール値(Boolean型)と同じように扱えるので、if文でパラメーターがセットされているかどうかを判定できます。
  • 関数の呼び出し側では、switchパラメーターの変数名にハイフンを付けた-japaneseというパラメーターを指定しています。
    • 関数を呼び出す側で$true/$falseを指定するよりも、switchパラメーターを使った方が「何の処理に使われるパラメーターなのか」ということが推測しやすくなるので、コードの可読性が上がると思います。
switchパラメーター付きの関数の例
function SayHello {
    param([switch]$japanese)

    if ($japanese) {
        Write-Host "こんにちは"
    } else {
        Write-Host "Hello"
    }
}
実行結果
> SayHello -japanese
こんにちは
> SayHello
Hello

参考URL

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?