Mac용 Visual Studio F# 시작

F#은 Mac용 Visual Studio IDE에서 지원됩니다. Mac용 Visual Studio 설치되어 있는지 확인합니다.

콘솔 애플리케이션 만들기

Mac용 Visual Studio 가장 기본적인 프로젝트 중 하나는 콘솔 애플리케이션입니다. 방법은 다음과 같습니다. Mac용 Visual Studio 열리면 다음을 수행합니다.

  1. 파일 메뉴에서 새 솔루션을 가리킵니다.

  2. 새 Project 대화 상자에는 콘솔 애플리케이션에 대한 2가지 템플릿이 있습니다. 기타 -> .NET 아래에 .NET Framework 대상으로 하는 것이 있습니다. 다른 템플릿은 .NET Core를 대상으로 하는 .NET Core -> 앱 아래에 있습니다. 두 템플릿 중 하나가 이 문서의 목적을 위해 작동해야 합니다.

  3. 콘솔 앱에서 필요한 경우 C#을 F#으로 변경합니다. 다음 단추를 선택하여 앞으로 이동합니다.

  4. 프로젝트에 이름을 지정하고 앱에 원하는 옵션을 선택합니다. 선택한 옵션에 따라 생성될 디렉터리 구조를 표시하는 화면 측면의 미리 보기 창이 표시됩니다.

  5. 만들기를 클릭합니다. 이제 솔루션 탐색기에 F# 프로젝트가 표시됩니다.

코드 작성

먼저 몇 가지 코드를 작성하여 시작하겠습니다. 파일이 열려 있는지 확인한 Program.fs 다음 해당 내용을 다음으로 바꿉니다.

module HelloSquare

let square x = x * x

[<EntryPoint>]
let main argv =
    printfn "%d squared is: %d!" 12 (square 12)
    0 // Return an integer exit code

이전 코드 샘플에서는 명명 x 된 입력을 사용하고 그 자체로 곱하는 함수 square 가 정의되었습니다. F# 에서는 형식 유추를 사용하므로 형식 을 지정할 필요가 없습니다. F# 컴파일러는 곱하기가 유효한 형식을 이해하고 호출 방법에 square 따라 형식을 x 할당합니다. 마우스로 가리키 square면 다음이 표시됩니다.

val square: x:int -> int

이를 함수의 형식 서명이라고 합니다. "Square는 x라는 정수와 정수 생성을 수행하는 함수"와 같이 읽을 수 있습니다. 컴파일러는 현재 형식을 제공 squareint 했습니다. 곱하기는 square 형식에서 제네릭이 아니라 닫힌 형식 집합에서 제네릭이기 때문입니다. 이 시점에서 F# 컴파일러가 int 선택되었지만, 같은 다른 입력 형식으로 호출 square 하는 경우 형식 float서명을 조정합니다.

F# 컴파일러에 프로그램 실행이 시작되도록 지시하는 특성으로 EntryPoint 데코레이팅되는 또 다른 함수main인 가 정의됩니다. 명령줄 인수를 이 함수에 전달할 수 있고 정수 코드(일반적으로)가 반환되는 다른 C 스타일 프로그래밍 언어와 동일한 규칙을 따릅니다.

이 함수에서는 인수를 사용하여 함수를 square 호출합니다 12. 그런 다음 F# 컴파일러는 형식 int -> int 을 할당합니다square(즉, 함수를 사용하고 int 생성)int. 이 호출은 C 스타일 프로그래밍 언어, 형식 문자열에 printfn 지정된 매개 변수와 유사한 형식 문자열을 사용한 다음 결과와 새 줄을 인쇄하는 형식이 지정된 인쇄 함수입니다.

코드 실행

최상위 메뉴에서 실행을 클릭한 다음 디버깅하지 않고 시작을 클릭하여 코드를 실행하고 결과를 볼 수 있습니다. 이렇게 하면 디버깅하지 않고 프로그램을 실행하고 결과를 볼 수 있습니다.

이제 Mac용 Visual Studio 표시된 콘솔 창에 다음이 인쇄됩니다.

12 squared is 144!

축하합니다! Mac용 Visual Studio 첫 번째 F# 프로젝트를 만들고, F# 함수를 작성하여 해당 함수를 호출한 결과를 출력하고, 프로젝트를 실행하여 일부 결과를 확인합니다.

F# 대화형 사용

Mac용 Visual Studio F# 도구의 가장 좋은 기능 중 하나는 F# 대화형 창입니다. 이를 통해 코드를 호출하고 결과를 대화형으로 볼 수 있는 프로세스로 코드를 보낼 수 있습니다.

사용을 시작하려면 코드에 정의된 함수를 square 강조 표시합니다. 다음으로 최상위 메뉴에서 편집 을 클릭합니다. 다음으로 F# 대화형으로 선택 항목 보내기를 선택합니다. F# 대화형 창에서 코드를 실행합니다. 또는 선택 영역을 마우스 오른쪽 단추로 클릭하고 F# 대화형으로 선택 항목 보내기를 선택할 수 있습니다. F# 대화형 창이 다음과 같이 표시됩니다.

>

val square: x: int -> int

>

함수를 마우스로 가리킬 때 이전에 본 함수와 동일한 함수 시그니처 square 가 표시됩니다. 이제 F# 대화형 프로세스에서 정의되었으므로 square 다른 값으로 호출할 수 있습니다.

> square 12;;
val it: int = 144
> square 13;;
val it: int = 169

이렇게 하면 함수가 실행되고 결과를 새 이름 it에 바인딩하고 형식과 값 it이 표시됩니다. 을 사용하여 각 줄을 ;;종료해야 합니다. 이는 F# Interactive가 함수 호출이 완료된 시기를 파악하는 방법입니다. F# Interactive에서 새 함수를 정의할 수도 있습니다.

> let isOdd x = x % 2 <> 0;;

val isOdd: x: int -> bool

> isOdd 12;;
val it: bool = false

위의 내용은 새 함수를 정의합니다. 이 함수 isOddint 이상한 함수인지 확인합니다. 이 함수를 호출하여 다른 입력으로 반환되는 내용을 확인할 수 있습니다. 함수 호출 내에서 함수를 호출할 수 있습니다.

> isOdd (square 15);;
val it: bool = true

파이프 전달 연산자를 사용하여 값을 두 함수로 파이프라인할 수도 있습니다.

> 15 |> square |> isOdd;;
val it: bool = true

파이프 전달 연산자 등은 이후 자습서에서 다룹니다.

F# Interactive를 사용하여 수행할 수 있는 작업을 엿볼 수 있습니다. 자세한 내용은 F#을 사용하여 대화형 프로그래밍을 확인하세요.

다음 단계

아직 진행하지 않은 경우 F#의 핵심 기능 중 일부를 다루는 F#의 둘러보기를 확인하세요. F#의 일부 기능에 대한 개요를 제공하고 Mac용 Visual Studio 복사하여 실행할 수 있는 충분한 코드 샘플을 제공합니다. F# 가이드에 소개된 훌륭한 외부 리소스도 있습니다.

추가 정보