Monday, May 26, 2008

今回は PowerShellでの関数の基礎について説明したいと思います。

まずは、基本構文ですが

function 関数名 {
    実行するスクリプト
}

のように記述します。

たとえば、3 + 2 を実行して表示する関数 Add は下記のように記述します。

PS > function Add { Write-Host (3 + 2) }

この関数を実行するには、コマンドラインで

PS > Add
5

とします。

引数のある関数を作成するには

function 関数名 (引数1, 引数2, 引数n) {
    実行するスクリプト
}

または、Paramキーワードを使用して

function 関数名 {
    Param(引数1, 引数2, 引数n)
    実行するスクリプト
}

のように記述します。

下記は、2つの引数を加算して返す関数Add2です。 値を返す場合には return キーワードを使用します。

PS > function Add2([int]$x, [int]$y)
>>{
>>    return ($x + $y)
>>}

この関数は、引数を2つもっているので、実行するには

PS > Add2 3 2
5

関数名の後に、値を2つスペースで区切って渡します。

Monday, May 26, 2008 11:20:45 PM (Tokyo Standard Time, UTC+09:00)  #    Comments [2]  |  Trackback
Wednesday, May 28, 2008 2:59:06 AM (Tokyo Standard Time, UTC+09:00)
関数を実行するのにAdd 2 3とコンマもなく括弧もないのには初めは大変面食らいました。他の言語から入った人には違和感あると思うのですが。
ただCmdletの呼び出し方も同様なので、一貫してはいますよね。
Wednesday, May 28, 2008 10:11:19 AM (Tokyo Standard Time, UTC+09:00)
>関数を実行するのにAdd 2 3とコンマもなく括弧もないのには初めは大変面食らいました。

私もそうでした。

今は慣れましたが、使い始めた当初はどうしてもコンマで区切りたくなりました...
CMD.exeのコマンドのオプション(dir /wとか)もコンマで区切るわけではないですし、以前から使用している形式なんですけどね。
関数の引数となると、どうしても違和感があります。

Comments are closed.

Theme design by Jelle Druyts

Pick a theme: