document)とは、(通常は複数行にまたがる)大量のテキストをスクリプト・インラインで記述するための仕組みだ。ヒア・ドキュメントは「@"<改行>〜<改行>"@」(または「@'<改行>〜<改行>'@」)の形式で記述できる。こんにちは、WINGSの山田です。PowerShellの世界をご一緒に楽しみましょう。$bodyこんにちは、WINGSの山田です。PowerShellの世界をご一緒に楽しみましょう。ヒア・ドキュメントを利用した長い文字列の定義もっとも、このような例であれば、ヒア・ドキュメントという新しい仕組みを持ち出さなくても、通常のダブルクォート/シングルクォートでもよいと思われるかもしれない。事実、上の例はヒア・ドキュメントを使わずに次のように記述できる。$body="こんにちは、WINGSの山田です。PowerShellの世界をご一緒に楽しみましょう。$bodyこんにちは、WINGSの山田です。PowerShellの世界をご一緒に楽しみましょう。ヒアドキュメントを利用しないで長い文字列を定義(1)しかし、以下のような例ではどうだろう。$body="こんにちは、`'WINGS`'の山田です。`"PowerShell`"の世界をご一緒に楽しみましょう。$bodyこんにちは、'WINGS'の山田です。"PowerShell"の世界をご一緒に楽しみましょう。ヒアドキュメントを利用しないで長い文字列を定義(2)このように、文字列にシングルクォート/ダブルクォートを含み、かつ、ヒア・ドキュメントを利用しない場合にはクォートをエスケープする必要がある。これは大量のテキストをインラインで記述する場合には、エスケープ漏れの原因にもなるし、そもそもエスケープが必要な個所を確認すること自体が煩雑な作業だ。そこでヒア・ドキュメントの登場というわけである。ヒア・ドキュメントは(繰り返しであるが)「@"<改行>〜<改行>"@」(または「@'<改行>〜<改行>'@」)を文字列の区切りとしているので、文字列中にクォートを自由に含めることができる。後々に文字列を変更した場合に、思わぬ不具合の原因とならないよう、複数行に及ぶ長いテキストを表す場合には(クォートの有無にかかわらず)ヒア・ドキュメントを利用することをお勧めしたい。文字列と並び、スクリプトを記述するうえで重要なデータ型が「配列」と「連想配列(ハッシュテーブル)」である。それぞれ配列と連想配列を宣言する具体的なコードを見てみることにしよう。配列/連想配列を生成する一般的な構文は、以下のとおりだ。......連想配列ただし配列はカンマ演算子(,)で生成するほか、以下のように記述することもできる。...)空の配列を明示的に宣言するには、単に「()」とするのではなく、「@()」のように記述する(空の連想配列を生成する場合は「@{}」)。宣言された配列/連想配列にアクセスするには、$変数名[インデックス番号]$変数名["キー名"]のように角カッコ表記でインデックス番号やキー名を指定すればよい。連想配列についてはドット演算子を利用して、$変数名.キー名の形式で取得することも可能である(プロパティ表記)。キー名が静的に決まる場合には角カッコ表記/プロパティ表記いずれを利用しても構わないが、キー名を変数として渡したいなど動的に変更する必要がある場合には、角カッコ表記を使用する必要がある。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。