いつの間にかWindowsにいた「PowerShell」。何者?
OSはもっぱらwindowsを使っているが、コマンド自動実行といえばいまだにバッチ(*.bat)だと思ってた。
仕事で唐突に「PowerShell」なるものを使う機会があったので、いろいろいじってみた。
※そういえば、遠い昔にWSHとか使って気もするが、なんかいまいちだなーで終わった気がする。
1.Linuxっぽい
ちょっとだけLinuxをいじったことがあるけど、「bashに似ているな」が最初の感想。
たまたま見たシェルがパイプラインを多用していたのが原因かな。
その書き方が推奨なのかどうかはわからないけど、
処理順に書いてパイプラインでつないでもいいし、引数で受け取ってもいいみたい。
2.OS標準の開発環境がある
バッチみたいにテキストエディタでぽちぽちかと思いきや、
「Windows PowerShell ISE」というOS標準の開発環境があった(Windows10)。
インテリセンスもあるし、ブレークポイントも使えるので、それなりに便利。
3.配列のクセがすごい
多次元配列を使ったのだけど、
この「setary」と「setary2」の結果がなぜか異なる。
要素1個か?要素2個か?の違いだけなんだけど。
以下は出力結果。
理由も調べてみたんだけど、わかるようなわからないような。
「List型を使え!」とかも散見。
List型?で気づいたのが次。
4.クラスが使える
使えるなんて全く思ってなかっただけにびっくり。
継承も可能。残念ながらインタフェースや抽象クラスは無いみたい。
オブジェクト指向のサンプル作ってみた。
5.感想
クラスが使えるというので、いろいろいじってたら、楽しくなってきた。
ただ、暗黙型変換はどうしても慣れない。型を宣言したくなってしょうがない。
バッチで小難しいことをやろうとすると、ぐちゃぐちゃになりがちだけど、
PowerShellだと、それなりにきれいなコードでかなりのことができそう。
使用頻度は高まってくるのかな?