연습 - 변수를 사용하여 데이터 저장

완료됨

이 연습에서는 콘솔에 코드를 출력하는 프로그램을 생성하는 방법을 알아봅니다. 계산기 프로그램의 시작을 빌드합니다. 또한 오류가 있는 프로그램을 분석하고 오류를 해결하는 방법을 알아봅니다.

프로젝트 만들기

먼저, 프로젝트를 생성합니다. dotnet 실행 파일을 사용하여 명령줄에서 프로젝트를 생성합니다.

  1. 콘솔에서 dotnet new 명령을 실행합니다.

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

    이 명령은 변수 디렉터리에 새 F# 프로젝트를 생성합니다.

  2. Program.fs에서 main() 메서드를 찾아 다음 코드를 추가합니다.

    printfn "Welcome to the calculator program"
    // read input from the console and assign to `sum`
    let sum = 0
    printfn "The sum is %i" sum
    

    첫 번째 줄은 프로그램 사용자를 환영합니다. 두 번째 줄에는 다음 연습 단원에서 구현할 코드를 보여주는 "//"로 시작하는 주석이 있습니다. 그런 다음 let sum = 0이 있습니다. 마지막으로 계산 결과를 유지하는 sum 변수를 만듭니다.

    main() 함수가 다음과 같이 표시됩니다.

    [<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
    
  3. dotnet run을 실행하여 프로그램을 실행합니다.

    dotnet run
    

    다음과 같은 내용이 출력됩니다.

    Welcome to the calculator program
    The sum is 0
    

지금까지 프로젝트를 스캐폴드하고, 더 큰 프로젝트에서 시작하고, 실행시켰습니다.

오류 수정

모든 언어의 프로그래밍 학습의 일부는 컴파일 오류를 인식하고 수정하는 방법을 학습하는 것입니다. 이 연습에서는 새 프로젝트를 스캐폴드합니다. 계속하기 전에 디렉터리 구조에서 한 수준 위에 있는지 확인합니다.

  1. dotnet new을 실행하여 새 F# 프로젝트를 스캐폴드합니다.

    dotnet new console --language F# -o Errors
    cd Errors
    
  2. main 메서드에 다음 코드가 있는지 확인합니다.

    [<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.
    

    "예상된 문자열이지만 여기에 int 형식이 있었습니다."라는 오류 메시지입니다. 문제가 무엇인지 이해하셨나요? 문제는 int 형식의 변수 aNumberprintfn함수에 제공하기 때문에 %i 대신 포맷터 %s을 사용한 것입니다. 코드를 수정해 보겠습니다.

  4. "printfn "Here's a number %s" aNumber" 코드가 있는 행을 찾아 다음으로 변경합니다.

    printfn "Here's a number %i" aNumber
    

    파일을 저장하고 dotnet run을 통해 다시 실행합니다. 이제 다음과 같은 출력이 표시됩니다.

    Here's a number 0
    

축하합니다! 코드를 읽고, 무엇이 잘못됐는지 이해하고, 수정하여 프로그램을 디버깅했습니다. 오류 메시지를 인식하고 오류를 수정하는 방법을 아는 것은 개발자로서 갖춰야 하는 필수 기술입니다.