F# 대화형은 무엇인가요?

완료됨

애플리케이션을 만들고, 패키징하고, 배포하는 프로세스를 진행하고 싶지 않은 경우가 있습니다. F# 대화형은 대화형 프로그래밍 및 스크립팅 환경입니다. 콘솔이나 독립 실행형 스크립트 파일을 통해 실시간으로 코드를 쓰고 계산할 수 있도록 하여 아이디어를 코드로 간단하게 만들 수 있습니다.

F# 대화형 시작하기

F# 대화형은 .NET SDK에 기본 제공됩니다. .NET CLI dotnet fsi 명령을 사용하여 시작할 수 있습니다.

dotnet fsi

읽기-계산-인쇄-루프(REPL)

F# 대화형을 시작하면 F# 코드를 쓰고 콘솔에서 해당 출력을 즉시 계산할 수 있는 REPL(읽기-평가-계산-루프) 세션이 시작됩니다.

Microsoft (R) F# Interactive version 11.4.2.0 for F# 5.0 
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

>

식 실행 및 계산

입력을 계산하려면 > 문자 뒤에 입력해야 합니다.

> #help;;

예를 들어 #help 명령을 실행하면 출력에 F# 대화형 도움말 메뉴가 표시됩니다.

F# Interactive directives:

    #r "file.dll";;                               // Reference (dynamically load) the given DLL
    #i "package source uri";;                     // Include package source uri when searching for packages
    #I "path";;                                   // Add the given search path for referenced DLLs
    #load "file.fs" ...;;                         // Load the given file(s) as if compiled and referenced
    #time ["on"|"off"];;                          // Toggle timing on/off
    #help;;                                       // Display help
    #r "nuget:FSharp.Data, 3.1.2";;               // Load Nuget Package 'FSharp.Data' version '3.1.2'
    #r "nuget:FSharp.Data";;                      // Load Nuget Package 'FSharp.Data' with the highest version
    #quit;;                                       // Exit
    
F# Interactive command line options:

    See 'dotnet fsi --help' for options

식의 끝은 ;; 문자로 구분됩니다. ;; 문자를 입력할 때까지 코드가 계산되지 않습니다. 이 구조는 코드가 줄 바꿈 문자로 구분되지 않으므로 여러 줄 식을 쓸 때 유용합니다.

F# 코드를 계산하는 방식은 동일합니다. 다음 코드는 콘솔에 메시지를 인쇄합니다.

> printfn "Hello World!";;

평가된 출력은 다음과 같습니다.

Hello World!
val it : unit = ()

첫 번째 줄은 계산된 코드의 출력을 표시하는 반면 두 번째 줄에는 출력의 형식 정보가 표시됩니다. 이 경우 콘솔에 출력되는 값은 () 토큰으로 표시되고 it 이름에 바인딩되는 unit 형식입니다. 더 많은 작업을 수행하려면 이후에 프로그램에서 it 값에 액세스할 수 있습니다.

REPL 종료

F# 대화형 REPL 사용이 끝나면 #q 또는 #quit 명령을 사용하여 종료합니다.

> #q;;

fsx 스크립트 파일

더 많은 코드를 쓸 때 fsx 파일 확장을 사용하여 스크립트에 코드를 저장할 수 있습니다.

콘솔에 메시지를 인쇄하는 것과 동일한 예제를 사용하는 경우 my-script .fsx라는 파일을 만들어 내 코드를 쓸 수 있습니다.

printfn "Hello World!"

하지만 .fsx 파일에서는 식의 끝에서 더 이상 ;;을 사용할 필요가 없다는 점을 기억해야 합니다. 스크립트 파일에서 F# 대화형이 들여쓰기 및 줄 바꿈 같은 표준 F# 코드 형식 지정 지침을 사용할 수 있기 때문에 필요하지 않습니다.

소스 코드를 컴파일한 다음 나중에 컴파일된 어셈블리를 실행하는 대신 dotnet fsi을(를) 실행하고 F# 코드가 포함된 스크립트 파일의 이름을 지정할 수 있습니다. F# 대화형은 코드를 읽고 실시간으로 실행합니다.

dotnet fsi my-script.fsx

이 스크립트를 실행하면 다음과 같은 출력이 생성됩니다.

Hello World!