HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 関数 Tips メニュー

02.引数と戻り値のある関数を作成するには

 
UPDATE:2007/12/03    
 




 引数と戻り値のある関数の基本構文は

function 関数名 (引数1, 引数2,...){
関数本体
[return 戻り値]
}

 です。
戻り値がない場合は return 戻り値 は書く必要がありません。

 簡単な例として、税込金額を求める関数 GetIncludingTax を作成してみます。
 テキストエディタ(メモ帳など)を起動し sample1のように入力したら、IncludingTax.ps1 という名前を付けて保存します。

 1行目は関数がIncludingTaxという名前であることを示しています。括弧の中の $price が引数で、税込前の金額を受け取るようにしています。
 "{" ~ "}"までが関数本体を記述する場所になります。 $price に 1.05を掛けた値を return で返しています。
 一番最後の GetIncudingTax 100 ですが、ここで作成した関数 GetIncudingTax を呼び出しています。 100 はIncludingTaxの引数に渡す値です。
 PowerShellではカンマ演算子によって配列を表すため、C#などのように括弧を使用しての呼び出しを行いません。

 引数のある関数の呼び出しは

 関数名 引数1 引数2 ~

 のように記述します。


sample1

function GetIncludingTax ($price) {
return $price * 1.05
}

GetIncludingTax 100

では、実際に作成したスクリプトを実行してみます。
最初に、Set-Locationコマンドレットでスクリプトファイルを保存した場所へ移動します。(1)
次にスクリプトを実行します。 スクリプトを実行する場合は ./スクリプトファイル名 とします。 (2)
関数が実行され、結果として 105 と表示されます。(3)

sample2

PS C:\Users\HIRO> Set-Location C:\Work         ----(1)
PS C:\Work>
PS C:\Work> ./IncludingTax.ps1 ----(2)
105 ----(3)

paramキーワードを使用して、引数を受け取ることもできます。
sample1をparamキーワードを使用して書き換えたのが sample3です。

sample3

function GetIncludingTax {
param($price)
return $price * 1.05
}

GetIncludingTax 100