演習 - 変数を使用してデータを格納する

完了済み

この演習では、コンソールにコードを出力するプログラムを作成する方法を学習します。 初歩的な電卓プログラムを作成します。また、エラーが含まれているプログラムを分析し、そのエラーを修正する方法を学習します。

プロジェクトの作成

プロジェクトを作成することから始めましょう。 実行可能ファイル dotnet を使用して、コマンド ラインからプロジェクトを作成します。

  1. コンソールで dotnet new コマンドを実行します。

    dotnet new console --language F# -o Variables
    cd Variables
    

    このコマンドを実行すると、ディレクトリ Variables に新しい F# プロジェクトが作成されます。

  2. Program.fs 内のコードを次のコードに置き換えます。

    [<EntryPoint>]
    let main argv =
        printfn "Welcome to the calculator program"
        // read input from the console and assign to `sum`
        let sum = 0
        printfn "The sum is %i" sum
        0
    

    最初の printfn ステートメントは、プログラムのユーザーにウェルカム メッセージを表示します。 2 行目には、次の演習ユニットで実装するコードを記述する // で始まるコメントがあります。 次に let sum = 0 があります。 最後に、計算結果を保持する sum 変数を作成します。

  3. dotnet run を実行してプログラムを実行します。

    dotnet run
    

    次の出力が表示されます。

    Welcome to the calculator program
    The sum is 0
    

おめでとうございます! プロジェクトをスキャフォールディングし、プロジェクトの拡張を開始し、実行するところまで進みました。

エラーを修正する

どんな言語を使ったプログラミングの学習でも、その一環としてコンパイル エラーを認識して修正する方法を学習しなければなりません。 この演習のために、新しいプロジェクトをスキャフォールディングする必要があります。 先に進む前に、ディレクトリ構造の 1 つ上のレベルに戻る必要があります。

  1. dotnet new を実行して、新しい F# プロジェクトをスキャフォールディングします。

    dotnet new console --language F# -o Errors
    cd Errors
    
  2. Program.fs 内のコードを次のコードに置き換えます。

    [<EntryPoint>]
    let main argv =
        let aNumber = 0
        printfn "Here's a number %s" aNumber
        0 // return an integer exit code
    

    ヒント

    少し立ち止まり、このコード読んでみて下さい。 コードはコンパイルされると思いますか。 なぜそうなのでしょう? または、なぜそうではないのでしょう?

  3. dotnet run を実行して、プロジェクトを実行します。

    dotnet run
    

    次のテキストのようなエラー メッセージが表示されます。

    /<path>/Errors/Program.fs(8,34): error FS0001: This expression was expected to have type    'string'    but here has type    'int' [/<path>/Errors/Errors.fsproj]
    
    The build failed. Fix the build errors and run again.
    

    エラー メッセージは "expected string but here was type int." (文字列が予期されていましたが、int 型でした) です。何が問題か理解できましたか。 問題は、フォーマッタ %s ではなく %i を使ったことです。関数 printfn には aNumber 型の変数 int を指定しているからです。 コードを修正しましょう。

  4. "printfn "Here's a number %s" aNumber" というコードがある行を見つけて、次のように変更します。

    printfn "Here's a number %i" aNumber
    

    ファイルを保存し、dotnet run によって再度実行します。 次のような出力が表示されます。

    Here's a number 0
    

おめでとうございます! コードを読み、何が間違っているかを理解して、それを修正することで、プログラムをデバッグしました。 エラー メッセージを認識し、エラーを修正する方法を知ることは、開発者にとって不可欠なスキルです。