연습 - 변수를 사용하여 데이터 저장
이 연습에서는 콘솔에 코드를 출력하는 프로그램을 생성하는 방법을 알아봅니다. 계산기 프로그램의 시작을 빌드합니다. 또한 오류가 있는 프로그램을 분석하고 오류를 해결하는 방법을 알아봅니다.
프로젝트 만들기
먼저, 프로젝트를 생성합니다. dotnet
실행 파일을 사용하여 명령줄에서 프로젝트를 생성합니다.
콘솔에서
dotnet new
명령을 실행합니다.dotnet new console --language F# -o Variables cd Variables
이 명령은 변수 디렉터리에 새 F# 프로젝트를 생성합니다.
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
dotnet run
을 실행하여 프로그램을 실행합니다.dotnet run
다음과 같은 내용이 출력됩니다.
Welcome to the calculator program The sum is 0
지금까지 프로젝트를 스캐폴드하고, 더 큰 프로젝트에서 시작하고, 실행시켰습니다.
오류 수정
모든 언어의 프로그래밍 학습의 일부는 컴파일 오류를 인식하고 수정하는 방법을 학습하는 것입니다. 이 연습에서는 새 프로젝트를 스캐폴드합니다. 계속하기 전에 디렉터리 구조에서 한 수준 위에 있는지 확인합니다.
dotnet new
을 실행하여 새 F# 프로젝트를 스캐폴드합니다.dotnet new console --language F# -o Errors cd Errors
main
메서드에 다음 코드가 있는지 확인합니다.[<EntryPoint>] let main argv = let aNumber = 0 printfn "Here's a number %s" aNumber 0 // return an integer exit code
팁
잠시 일시 중지하고 이전 코드를 읽습니다. 코드가 컴파일될 것이라고 생각하시나요? 그렇게 생각하는 이유는 무엇인가요?
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
형식의 변수aNumber
를printfn
함수에 제공하기 때문에%i
대신 포맷터%s
을 사용한 것입니다. 코드를 수정해 보겠습니다."printfn "Here's a number %s" aNumber" 코드가 있는 행을 찾아 다음으로 변경합니다.
printfn "Here's a number %i" aNumber
파일을 저장하고
dotnet run
을 통해 다시 실행합니다. 이제 다음과 같은 출력이 표시됩니다.Here's a number 0
축하합니다! 코드를 읽고, 무엇이 잘못됐는지 이해하고, 수정하여 프로그램을 디버깅했습니다. 오류 메시지를 인식하고 오류를 수정하는 방법을 아는 것은 개발자로서 갖춰야 하는 필수 기술입니다.