演習 - "Hello World!"

完了

コーディングを学習するのに最善の方法の 1 つは、小さなプログラムをたくさん記述することです。 小さなプログラムを作成すると、プログラミングの基礎と、もっと大きなプログラムの作成を始めるときに応用する重要な手法を習得できます。

この演習は省略してもかまいません。 この演習を完了する場合は、開始する前に Azure サブスクリプションを作成する必要があります。 Azure アカウントを持っていない場合、または現時点で作成したくない場合は、指示を読んで、提示されている情報を理解することができます。

このユニットでは、ターミナルとして Azure Cloud Shell を使用します。 Cloud Shell には 、Azure portal または Cloud Shell サインインを使用してアクセスできます。 お使いの PC やラップトップに何もインストールしなくても使用できます。

最初のコード行を記述する

この演習では "Hello World!" という語句をコマンド ラインまたはコンソール ウィンドウに出力しますが、これはソフトウェア開発者の間で長く続いている伝統です。 この基本的な演習からでも多くのことを学習できます。

ステップ 1: Cloud Shell でコードを入力する

Azure Cloud Shell は、チュートリアルアプローチをサポートするためのブラウザー内エクスペリエンスを提供し、通常の PowerShell ターミナル ウィンドウと同様に動作します。 このウィンドウにコマンドを直接入力したり、以前に書いたスクリプトを Cloud Shell で実行して結果を得たりできます。

このモジュールでは、Cloud Shell バージョンのコード エディターを使い、スクリプトを記述して実行します。

  1. Azure Cloud Shell を開き、次のコードを入力します。

    New-Item HelloWorld.ps1
    code HelloWorld.ps1
    

    クラシック Cloud Shell に切り替えるかどうかを確認するダイアログが表示されたら、[確認] を選択します。 次に、2 番目のコマンド code HelloWorld.ps1 をもう一度入力して、Cloud Shell コード エディターでファイルを開きます。

    New-Item コマンドにより、現在のディレクトリに新しい .ps1 ファイルが作成されます。 .ps1 というファイル名拡張子は、PowerShell スクリプトで使用される拡張子です。

    code コマンドに続けて、スクリプトを操作するファイルの名前を入力すると、そのファイルが Cloud Shell コード エディターで開きます。 スクリプトを記述して編集した後、保存して Cloud Shell で実行するための別のウィンドウが開きます。 別の場所に格納されているファイルを開く場合は、ファイル名のみを使う代わりに、完全なパスを定義できます。

  2. コード エディター ウィンドウに、次のコードを入力します。

    Write-Output 'Hello World!'
    
  3. Windows の Ctrl+S キーボード ショートカット (または macOS の 場合は ⌘+S ) を使用してファイルを保存します。

    それがどのように機能するか、またその理由についてはこの後で説明します。 ただし、まずはコードを実行して、正しく入力したことを確認する必要があります。

    コード サンプルの [コピー ] ボタンを使用して、すべての入力をスキップしたくなる場合があります。 しかし、このコード行はご自分で入力することをお勧めします。 入力するという物理的な行為によって記憶が強化され、実際にやってみなければわからないことを理解することができます。

ステップ 2: スクリプトを実行する

スクリプトを実行するには、Cloud Shell ターミナルに次のコマンドを入力します。

. ./HelloWorld.ps1

コマンドの先頭のドット (.) を必ず入力してください。 これにより、呼び出されているスクリプトまたはファイルを実行することが PowerShell に指示されます。

ステップ 3: 結果を観察する

Cloud Shell に、次のような出力が表示されるはずです。

Hello World!

エラー メッセージが表示された場合の対処方法

他の言語では、すべての文字を正確に入力する必要がありますが、PowerShell の場合はより緩やかです。 大文字と小文字は区別されません。これは、誤って意図したものとは異なる大文字または小文字を入力しても、問題にならないことを意味します。 Write-Outputwrite-output は同じと解釈されます。 気を付けなければならないのは、スペルミス、余分な空白、不足している空白の有無です。

エラーが発生した場合は、次のように表示されます。

Write-Outpu: The term 'Write-Outpu' is not recognized as a name of a cmdlet, function, script file, or executable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

この例では、Write-Outpu ではなく Write-Output と間違って記述したことで、指定したこのコマンドを見つけることができなかったことが PowerShell によって通知されています。

エラーの原因を把握するには、これらのエラーを確認することが不可欠です。 プログラムを実行するとエラーが発生するとき、多くの場合、エラーには問題が発生した行番号含まれています。 また、エラーの説明も含まれ、修正方法に関する提案が含まれることもあります。

すべてのエラーが、前の例のように読みやすく理解しやすいものとは限らないことに注意してください。 原因を解明するために、多少のテストと調査が必要になる場合があります。

ステップ 4: 新しいファイルを作成し、入力を受け取るコードを記述する

  1. 開いている HelloWorld.ps1 ファイルで、コマンドの前にシャープ記号 (#) を追加して、エディターで記述したコードをコメントアウトします。 コメント化した行の下に、次のコード行を追加します。

    # Write-Output 'Hello World!'
    
    $name = Read-Host -Prompt "Please enter your name"
    Write-Output "Congratulations $name! You have written your first code with PowerShell!"
    

コード コメント を作成するには、テキスト行の前に番号記号 (#) を付けます。 これは、特定のコードを完全に削除することなく、実行できないようにするのに役立つ手法です。 コメントを使用して、自分や他の人物が後でコードを読むときに役立つ情報を追加することもできます。 コメントはコード内の任意の場所に配置でき、同じ行の # の後ろのすべてのテキストがコメントアウトされます。

  1. ファイルを保存し、前に使用したのと同じコマンドを使用してスクリプトをもう一度実行します。

    . ./HelloWorld.ps1
    
  2. 名前の入力を求めるプロンプトで、名前を入力し、Enter キーを します。

    出力は、名前が挿入されたメッセージになります。 次に例を示します。

    Congratulations Chase! You have written your first code with PowerShell!
    

プログラムはどのように動作したか

この演習では、というWrite-Outputを呼び出しました。 コマンドレットは、PowerShell を使用する主な方法です。 コマンドの構文は Verb-Noun (動詞 - 名詞) 形式です。 この構文により、コードで実行されようとしていることを簡単に理解できます。 コマンドレットの名前は、その意図を表します。 コードは、何か (名詞) に対して何か (動詞) を実行することを表します。

Hello World!と祝文は、コマンドレットが処理および出力するためのWrite-Output入力です。 文字列は、コンピューターで使われる基本的なデータ型です。 PowerShell では、文字列を単一引用符 ('') または二重引用符 ("") で囲むことができます。 このコードでは、二重引用符を使用して、PowerShell で変数名の代わりに変数の値を表示できるようにします。 データ型とそれを定義する方法について詳しくは、後のモジュールで学習します。

Read-Host を使用することで、ユーザーに入力を求めるメッセージを記述できます。 ユーザーに対するメッセージは、-Prompt パラメーターを使用して定義します。 パラメーターによって、コマンドレットでユーザーからの入力を受け取ることができます。 という$nameに入力を格納し、Write-Output コマンドレットを使用して Cloud Shell ターミナルにカスタム メッセージを表示します。

変数について詳しくは、後のモジュールで学習します。 ここでは、変数は、コードの柔軟性を高めるために値を格納するコンテナーとしてだけ考えておいてください。 すべてのプログラムに名前を入力する代わりに、変数に値を格納しておき、それを再利用して異なる結果を得ることができます。

変数は、単語の先頭にドル記号 ($) を付けることで定義します。 単語の後に等号 (=) を記述し、その後に変数に格納する値を記述します。 前の例では、"Chase" という名前を格納しました。変数には任意の名前を付けることができますが、格納されているものとそれを使用する場所を理解するのに役立つような名前を付けることをお勧めします。 たとえば、$name に、人の名前を格納します。

多くのコマンドレットは、前の例と同じように動作します。 ユーザーがコマンドレットに入力すると、コマンドレットによって何かが行われ、コマンドレットによって出力が生成されます。 このプロセスによって、出力ウィンドウへの書き込み、式の計算、環境内の何かの変更など、さまざまなことを行うことができます。

まとめ

この最初のユニットで学んだことをまとめておきましょう。

  • コマンドレットは、PowerShell と対話するための主な方法です。 それらは、Verb-Noun 形式で記述されます。
  • パラメーターは、入力を受け取って、コマンドレットで出力したりアクションを実行したりできるようにします。
  • PowerShell は、緩やかな言語です。 既定では、大文字と小文字は区別されません。
  • PowerShell エラーは問題の特定に役立ち、エラーを注意深く読むことで時間を節約できます。
  • 変数は、プログラムで動的に使用する値を格納するために使用されます。