[MD3] PowerShellについて
MD3の説明でPowerShellの関数って、言語拡張のように見せれるので、中々おもしろいという話をしました。この説明で例題に取り上げたのが、「Windows PowerShell in Action」という書籍なのですが、この書籍で提供されるているサンプルをご紹介したいと思います。本自体は、500頁ちょっとありますので、読むのも大変なんですけど(私の堅い枕の1つです)。
Capter8のサンプルに「class.ps1」と「demo-class.ps1」というファイルがあります。詳細は「class.ps1」を見ていただく必要がありますが、「demo-class.ps1」で以下のような記述を行っています。
CustomClass point {
note x 0
note y 0
method ToString {
"($($this.x), $($this.y))"
}
method scale {
$this.x *= $args[0]
$this.y *= $args[0]
}
}
$p = new point
このコードの中で「CustomClass」「note」「method」「new」というキーワードが、実は関数として「class.ps1」で定義されています。クラスという定義方法をPowerShellは提供していませんが、上記のように関数を使用することで、あたかもオペレータを拡張したように見えます。個人的には、これって「おもしろいよなー」と思っています。
この面白ろさというかを皆さんにお伝えしたくて、MD3でPowerShellを取り上げました。それから、DownLoadセンターを見ていてPowerShellを利用する方にお勧めのドキュメントをみつけました。それは、PowerShell Graphical Help Fileです。PowerShellのヘルプのchm形式です。英語で記述されていますが、構文などの全体像を見るのに役立ちます。
Comments
- Anonymous
June 21, 2007
Power Shell Graphical Help