※この記事は「2021年4月9日」に更新しました。
PowerShell(パワーシェル)講座です。
前回は、変数がオブジェクトとして扱われることを説明しました。
第3回目は、演算子についてです。
環境は、Windows 10(64bit)、PowerShell 6.1.2 です。
演算子とは
プログラミング経験のある方はご存知かもしれませんが、演算子は名前の通り、演算を行うための記号です。
それでは、基本的なものから紹介していきます。
算術演算子
算術演算子は、他のプログラミング言語と同様です。
- + → 加算
- – → 減算
- * → 乗算
- / → 除算
- % → 剰余
代入演算子
代入演算子も他のプログラミング言語と同様です。
数学の =(イコール)とは、違うということに注意しましょう。
- = → 左辺に右辺を代入する
- += → 左辺に右辺の値を加算した結果を格納する
- -= → 左辺に右辺の値を減算した結果を格納する
- *= → 左辺に右辺の値を乗算した結果を格納する
- /= → 左辺に右辺の値を除算した結果を格納する
- %= → 左辺に右辺の値を剰余した結果を格納する
比較演算子
個人的に違和感があったのが、比較演算子です。
大昔になんとなく調べた Perl の文字列用比較演算子と似ています。
- -eq → 等しい
- -ne → 等しくない
- -gt → より大きい(>)
- -ge → 以上(>=)
- -lt → より小さい(<)
- -le → 以下(≤)
例えば、適当に下記のような比較をします。
1 -eq 1
この場合、等しいので True が返ります。
下記のような場合、大文字と小文字を区別しません。
"abc" -eq "ABC"
従って、これも True が返ります。
比較演算子(like と match)
こちらも比較演算子なんですが、文字列のみに使うものです。
- -like → ワイルドカードを使った文字列が一致するか比較(一致すれば True)
- -notlike → ワイルドカードを使った文字列が一致しないか比較(一致しなければ True)
- -match → 正規表現を使った文字列が一致するか比較(一致すれば True)
- -notmatch → 正規表現を使った文字列が一致しないか比較(一致しなければ True)
キャスト演算子
指定した型にキャストすることができます。
下記のような使い方をします。
$a = [int]1.2
この場合、int(整数型)にキャストされ、小数部分が切り捨てられます。
【番外編】PSCustomObject について
PowerShell には、特殊な型が存在します。
PSCustomObject も型の一つです。
例えば、連想配列を使って任意のオブジェクト(カスタムオブジェクト)を作成することができます。
連想配列は順不同という性質があるのですが、PSCustomObject でキャストすれば、順序が保証されます。
詳しくは、次回紹介します。
最後に
いかがでしょうか。
基本的な部分なので退屈かもしれませんが、コツコツやっていきます。
今回は、演算子について、解説しました。
次回は、配列についてです。
PowerShell は、コマンドプロンプトと違って配列も使えるのです。
PSCustomObject でキャストする例も紹介したいと思っています。