列挙値は文字列で指定できる

列挙値は、文字列で列挙値の名前を指定することができます。

例えば Console の背景色を DarkRed に変更する、次のようなコードは、

[Console]::BackgroundColor = [ConsoleColor]::DarkRed;

次のコードのように指定することもできます。

[Console]::BackgroundColor = "DarkRed"; 

 

また、ビットフィールドの列挙値の組み合わせも、各列挙値をカンマ区切りで繋げた文字列で指定することができます。

例えば、Object クラスに定義されている非公開のインスタンスメソッドを取得する、次のようなコードは、

[Object].GetMethods([System.Reflection.BindingFlags]::NonPublic -bor [System.Reflection.BindingFlags]::Instance) | % { $_.ToString(); };

次のコードのように指定することもできます。

[Object].GetMethods("Public, NonPublic, Instance") | % { $_.ToString(); };

 

見ての通り、列挙値を文字列で指定すると文字数がだいぶ節約できます。

ただし、オーバーロードの解決が期待通りにされない場合もあるので注意です。

例えば、Object クラスに定義されている非公開の FieldGetter メソッドを取得する場合、次のようなコードではオーバーロードの解決が期待通りになりません。

[Object].GetMethod("FieldGetter", "NonPublic, Instance") | % { $_.ToString(); };

この場合、次のコードのように明示的にキャストを行う必要があります。

[Object].GetMethod("FieldGetter", [System.Reflection.BindingFlags]"NonPublic, Instance") | % { $_.ToString(); };

このことにさえ気を付けていれば、列挙値の指定は文字列で行った方が楽だし可読性にも優れていると思います。

VimをインストールしてPowerShellから使用する

Vimの入手、インストール、PowerShellからの使用について説明したいと思います。

入手

日本語版VimはKaoriYa.netさんのところから 入手可能です。

現時点で最新版は7.1のようです。 


インストール

 Ver.7.1で説明します。

vim71-20080531-kaoriya-w32j.exe をダウンロードしてきたら ダブルクリックして解凍します。

vim71-kaoriya-w32j というフォルダが作成されその中にファイルができあがります。

このフォルダをリネーム(vim71としました)して好きな場所に移動してください。(C:\Program Files\vim71 へ移動したものとします)


起動

PowerShellから起動できるようにするための前準備をしましょう。

まずはプロファイルを開いて、下記の1行を追加します。

Set-Alias vim 'C:\Program Files\vim71\vim.exe'

プロファイルの場所は、コマンドラインで$Profileと入力することで確認できます。 存在しない場合は新規で作成してください。

プロファイルへの書き込みが完了したら、PowerShellを再起動し、コマンドラインで

PS > vim

と入力します。するとPowerShell上でvimエディタを使用することができるようになります。