SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows PowerShell 入門

Windows PowerShell 入門(6)-関数編1

関数の作成方法と引数

  • このエントリーをはてなブックマークに追加

この連載では、Microsoftが提供している新しいシェル、Windows Power Shellの使い方を解説します。今回は、関数の作成基礎と引数、戻り値、Switchパラメータについて説明します。

  • このエントリーをはてなブックマークに追加

はじめに

 この連載では、Microsoftが提供している新しいシェル、Windows Power Shellの使い方を解説します。今回は、関数の作成基礎と引数、戻り値、Switchパラメータについて説明します。

これまでの記事

対象読者

  • Windows PowerShellでコマンドレット操作ができる方
  • 何らかのプログラミング経験があればなお良い

必要環境

  • Windows PowerShell

関数の基礎

 PowerShellでの関数の基本構文は、

function 関数名 {
  処理内容
}

 です。このようにして作成した関数は、

関数名[Enter]

 と入力して呼び出します。

 早速ですが関数を1つ作成してみましょう。コンソールウィンドウで下記のように入力してください。

PS > function Hello {
>> Write-Host "Hello PowerShell World!!"
>> }
>>

 上記は関数名がHelloで、呼び出されたらWrite-Hostコマンドレットを使用して"Hello PowerShell World!!"と表示するものです。

 では実際にHello関数を使用してみましょう。コマンドラインでHelloと入力し、[Enter]キーを押下してください。

PS > Hello
Hello PowerShell World!!

 関数が実行され、"Hello PowerShell World!!"と表示されます。

引数

引数のある関数

 引数のある関数の構文は、

function 関数名 (引数1, 引数2, ...引数n) {
  処理内容
}

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

function 関数名 {
    Param(引数1, 引数2, ...引数n)
}

 と書きます。この連載では前者の方で説明していきます。

 引数のある関数の例として、足し算をする関数addを作成してみましょう。

PS > function add ($x, $y)
>> {
>> Write-Host ($x + $y)
>> }
>>

 この関数は引数$x$yの2つを持っています。このように複数の引数を持つ関数を実行する場合は、

PS > add 3 5

 のようにし、引数に渡す値はスペースで区切ります。

 実はこの関数は、

PS > add Code Zine
CodeZine

 のように引数に文字列を渡すこともできます。これは引数に型が指定されていないためです。また加算演算子+は文字列の場合は連結を行うため、上記は"CodeZine"と表示されます。

引数の型指定

 先ほどの関数addでは、引数の型が指定されていませんでした。今度は、引数に型を指定してみましょう。

PS > function add2 ([int]$x, [int]$y)
>> {
>> Write-Host ($x + $y)
>> }
>>

 引数に型を指定するには、上記[int]のように[型]を引数の前に記述します。ここでは、関数add2の引数の型を[int]としました。

 この関数に文字列を渡したらどうなるでしょうか?

PS > add2 Code Zine

add2 : 値 "Code" を型 "System.Int32" に変換できません。エラー: "入力文字列の形式が正しく
ありません。"
発生場所 行:1 文字:5
+ add2  <<<< Code Zine

 引数に型指定([int])を行ったため、文字列は受け取ることができずエラーとなります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
引数の初期値

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Windows PowerShell 入門連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2491 2008/05/29 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング