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 でキャストする例も紹介したいと思っています。