F# 언어 참조

이 섹션에서는 .NET을 대상으로 하는 다중 패러다임 프로그래밍 언어인 F#을 다룹니다. F#은 함수형, 개체 지향 그리고 명령형의 프로그래밍 모델을 지원합니다.

F# 코드 구성

다음 표에는 F# 코드 구성과 관련된 참조 문서가 나와 있습니다.

제목 Description
네임스페이스 F#의 네임스페이스 지원에 대해 알아봅니다. 네임스페이스를 통해 프로그램 요소의 그룹에 이름을 연결하여 관련 기능 영역으로 코드를 체계화할 수 있습니다.
모듈 모듈에 대해 알아봅니다. F# 모듈은 네임스페이스와 비슷하며 값과 함수를 포함할 수도 있습니다. 모듈로 코드를 그룹화하면 관련 코드를 함께 유지하고, 프로그램의 이름 충돌을 방지하는 데 도움이 됩니다.
open 선언 open이 작동하는 방법을 알아봅니다. open 선언은 정규화된 이름을 사용하지 않고 참조할 수 있는 요소의 모듈, 네임스페이스 또는 형식을 지정합니다.
시그니처 시그니처 및 시그니처 파일에 대해 알아봅니다. 서명 파일에는 형식, 네임스페이스, 모듈 등 F# 프로그램 요소 집합의 공개 서명에 대한 정보가 포함됩니다. 이러한 프로그램 요소의 접근성을 지정하는 데 사용할 수 있습니다.
Access Control F#의 액세스 제어에 대해 알아봅니다. 액세스 제어란 형식, 메서드, 함수 등의 특정 프로그램 요소를 사용할 수 있는 클라이언트를 선언한다는 것을 의미합니다.
XML 문서 XML 문서 주석(삼중 슬래시 주석이라고도 함)에서 설명서 파일을 생성하기 위한 지원에 대해 알아봅니다. 다른 .NET 언어와 마찬가지로 F#의 코드 주석에서 문서를 생성할 수 있습니다.

리터럴 및 문자열

다음 표에는 F#의 리터럴과 문자열을 설명하는 참조 문서가 나와 있습니다.

제목 Description
리터럴 F#의 리터럴 값 구문과 F# 리터럴에 대한 형식 정보를 지정하는 방법을 알아봅니다.
문자열 F#의 문자열에 대해 알아봅니다. string 형식은 유니코드 문자 시퀀스로 변경할 수 없는 텍스트를 나타냅니다. string는 .NET에서 System.String의 별칭입니다.
보간된 문자열 F# 식을 직접 포함할 수 있는 특수한 형식의 문자열인 보간된 문자열에 대해 알아봅니다.

값 및 함수

다음 표에는 값, let 바인딩 및 함수와 관련된 언어 개념을 설명하는 참조 문서가 나와 있습니다.

제목 Description
특정 형식을 가진 변경 불가능한 수량인 값에 대해 알아봅니다. 값은 정수 또는 부동 소수점 숫자, 문자 또는 텍스트, 목록, 시퀀스, 배열, 튜플, 구별된 공용 구조체, 레코드, 클래스 형식 또는 함수 값이 될 수 있습니다.
함수 함수는 모든 프로그래밍 언어에서 프로그램 실행의 기본 단위입니다. F# 함수는 이름을 가지며, 매개 변수 및 인수를 사용할 수 있고, 본문을 포함합니다. 또한 F#은 함수를 값으로 처리, 식에 명명되지 않은 함수 사용, 함수를 합성하여 새로운 함수 생성, 커리된 함수, 함수 인수를 부분적으로 적용하는 방식의 암시적 함수 정의 등 함수형 프로그래밍 구문도 지원합니다.
함수 식 F# ‘fun’ 키워드를 사용하여 익명 함수인 람다 식을 정의하는 방법을 알아봅니다.

루프 및 조건

다음 표에는 F# 루프 및 조건에 대해 설명하는 문서가 나와 있습니다.

제목 Description
조건식: if...then...else 코드의 다른 분기를 실행하고 지정된 부울 식에 따라 다른 값을 평가하는 if...then...else 식에 대해 알아봅니다.
루프: for...in 범위 식, 시퀀스, 목록, 배열, 열거형을 지원하는 기타 구문 등 열거 가능한 컬렉션에서 특정 패턴의 일치를 반복하는 데 사용되는 루프 구문인 for...in 식에 대해 알아봅니다.
루프: for...to 루프 변수 값의 범위에 대해 루프를 반복하는 데 사용되는 for...to 식에 대해 알아봅니다.
루프: while...do 지정된 테스트 조건이 참인 동안 반복 실행(루프)을 수행하는 데 사용되는 while...do 식에 대해 알아봅니다.

패턴 일치

다음 표에는 언어 개념을 설명하는 참조 문서가 나와 있습니다.

제목 설명
패턴 일치 입력 데이터 변환에 적용되는 규칙이며 F# 전체에서 사용되는 패턴에 대해 알아봅니다. 데이터를 패턴과 비교하거나, 데이터를 구성 부분으로 분해하거나, 다양한 방법으로 데이터에서 정보를 추출할 수 있습니다.
일치 식 분기 제어를 제공하는 match 식에 대해 알아봅니다. 분기 제어는 특정 패턴의 집합을 사용한 식 비교를 기반으로 합니다.
활성 패턴 활성 패턴에 대해 알아봅니다. 활성 패턴을 사용하여 입력 데이터를 분할하는 명명된 파티션을 정의할 수 있습니다. 활성 패턴을 사용하여 각 파티션에 대한 사용자 지정 방식으로 데이터를 분해할 수 있습니다.

예외 처리

다음 표에는 예외 처리와 관련된 언어 개념을 설명하는 참조 문서가 나와 있습니다.

제목 설명
예외 처리 F#의 예외 처리 지원에 대한 정보를 포함합니다.
try...with 예외 처리에 try...with 식을 사용하는 방법에 대해 알아봅니다.
try...finally 코드 블록에서 예외를 throw하는 경우에도 F# try...finally 식을 사용하여 정리 코드를 실행하는 방법을 알아봅니다.
use 키워드 리소스의 초기화 및 해제를 제어할 수 있는 useusing 키워드에 대해 알아봅니다.
어설션 식을 테스트하는 데 사용할 수 있는 디버깅 기능인 assert 식에 대해 알아봅니다. 디버그 모드에서 실패 시 어설션에서 시스템 오류 대화 상자를 생성합니다.

형식 및 형식 유추

다음 표에는 F#에서 형식 및 형식 유추의 작동 방식을 설명하는 참조 문서가 나와 있습니다.

제목 설명
유형 F#에서 사용되는 형식과 F# 형식의 이름을 지정하고 설명하는 방법을 알아봅니다.
기본 형식 F#에서 사용되는 기본 형식에 대해 알아봅니다. 또한 각 유형의 해당 .NET 형식과 최소 및 최대값을 제공합니다.
단위 형식 특정 값이 없음을 나타내는 형식인 unit 형식에 대해 알아봅니다. unit 형식은 다른 값이 없거나 필요하지 않을 때 자리 표시자 역할을 하는 단일 값만 포함합니다.
형식 약어 형식의 대체 이름인 형식 약어에 대해 알아봅니다.
형식 유추 F# 컴파일러가 값, 변수, 매개 변수 및 반환 값의 형식을 유추하는 방법에 대해 알아봅니다.
캐스팅 및 변환 F#의 형식 변환 지원에 대해 알아봅니다.
제네릭 F#의 제네릭 구문에 대해 알아봅니다.
자동 일반화 F#에서 가능한 경우 여러 형식으로 작동할 수 있도록 함수의 인수 및 형식을 자동으로 일반화하는 방법을 알아봅니다.
제약 조건 제네릭 형식 또는 함수에서 형식 인수에 대한 요구 사항을 지정하기 위해 제네릭 형식 매개 변수에 적용되는 제약 조건에 대해 알아봅니다.
유연한 형식 유연한 형식에 대해 알아봅니다. 유연한 형식 주석은 매개 변수, 변수 또는 값에 지정된 형식과 호환되는 형식을 갖고 있음을 나타냅니다. 호환성은 클래스 또는 인터페이스의 개체 지향 계층 구조에서의 위치로 결정됩니다.
측정 단위 측정 단위에 대해 알아봅니다. F#의 부동 소수점 값은 연결된 측정 단위를 포함할 수 있으며, 측정 단위는 일반적으로 길이, 볼륨, 질량 등을 나타내는 데 사용됩니다.
Byref 낮은 수준의 프로그래밍에 사용되는 F#의 byref 및 byref와 유사한 형식에 대해 알아봅니다.

튜플, 목록, 컬렉션, 옵션

다음 표에는 F#에서 지원하는 형식을 설명하는 참조 문서가 나와 있습니다.

제목 Description
튜플 가능한 여러 형식의 명명되지는 않았지만 순서가 지정된 값에 대한 그룹화인 튜플에 대해 알아봅니다.
컬렉션 배열, 목록, 시퀀스(seq), 맵 및 집합에 대한 형식을 비롯하여 F# 함수 컬렉션 형식을 간략하게 설명합니다.
목록 목록에 대해 알아봅니다. F#의 목록은 동일 형식의 순서가 지정되고 변경할 수 없는 일련의 모든 요소입니다.
Options 옵션 유형에 대해 알아봅니다. F#의 옵션은 값이 있거나 없을 때 사용됩니다. 옵션에는 기본 형식이 있으며 해당 형식의 값을 보유하거나 값을 보유하지 않을 수 있습니다.
배열 배열에 대해 알아봅니다. 배열은 동일한 형식의 모든 연속 데이터 요소의 변경 가능한 시퀀스로 고정 크기이며 0부터 시작합니다.
시퀀스 시퀀스에 대해 알아봅니다. 시퀀스란 한 형식을 가진 일련의 모든 논리적 요소입니다. 개별 시퀀스 요소는 필요한 경우에만 계산되므로, 표현이 리터럴 요소 개수가 나타내는 것보다 작을 수 있습니다.
시퀀스 식 주문형 데이터 시퀀스를 생성할 수 있는 시퀀스 식에 대해 알아봅니다.
참조 셀 참조 의미론을 통해 변경 가능한 변수를 만드는 데 사용할 수 있는 스토리지 위치인 참조 셀에 대해 알아봅니다.

레코드 및 구별된 공용 구조체

다음 표에는 F#에서 지원하는 레코드 및 구별된 공용 구조체 형식 정의를 설명하는 참조 문서가 나와 있습니다.

제목 Description
레코드 레코드에 대해 알아봅니다. 레코드는 명명된 값의 간단한 집계(경우에 따라 멤버가 포함된)를 나타냅니다.
익명 레코드 데이터 조작에 도움이 되는 언어 기능인 익명 레코드를 만들고 사용하는 방법을 알아봅니다.
구별된 공용 구조체 구별된 공용 구조체에 대해 알아봅니다. 구별된 공용 구조체는 다양한 명명된 사례 중 하나인 값을 지원하며, 각 사례는 서로 다른 값과 형식을 가질 수 있습니다.
구조체 데이터의 양이 적고 동작이 단순한 형식에 대해 클래스보다 효율적일 수 있는 간단한 개체 형식인 구조체에 대해 알아봅니다.
열거형 열거형은 명명된 값의 정의된 집합을 포함하는 형식입니다. 코드를 더 읽기 쉽고 유지 가능하도록 만들기 위해 리터럴 대신 이를 사용할 수 있습니다.

개체 프로그래밍

다음 표에는 F# 개체 프로그래밍을 설명하는 참조 문서가 나와 있습니다.

제목 Description
클래스 속성, 메서드 및 이벤트를 가질 수 있는 개체를 나타내는 형식인 클래스에 대해 알아봅니다.
인터페이스 다른 클래스에서 구현하는 관련 멤버의 집합을 지정하는 인터페이스에 대해 알아봅니다.
추상 클래스 파생된 클래스에서 구현할 수 있도록 일부 또는 모든 멤버를 구현되지 않은 상태로 유지하는 클래스인 추상 클래스에 대해 알아봅니다.
형식 확장 이전에 정의된 개체 형식에 새 멤버를 추가할 수 있는 형식 확장에 대해 알아봅니다.
대리자 함수 호출을 개체로 나타내는 대리자에 대해 알아봅니다.
상속 개체 지향 프로그래밍에서 “동등” 관계 또는 하위 유형을 모델링하는 데 사용되는 상속에 대해 알아봅니다.
멤버 F# 개체 형식의 멤버에 대해 알아봅니다.
매개 변수 및 인수 매개 변수를 정의하고 함수, 메서드 및 속성에 인수를 전달하기 위한 언어 지원에 대해 알아봅니다. 참조를 통한 전달 방법에 대한 자세한 내용을 포함합니다.
연산자 오버로드 전역 수준에서 클래스 또는 레코드 형식에 산술 연산자를 오버로드하는 방법에 대해 알아봅니다.
개체 식 동적으로 생성된 익명 개체 형식의 새 인스턴스를 만드는 개체 식에 대해 알아봅니다. 익명 개체 형식은 기존의 기본 형식, 인터페이스 또는 인터페이스의 집합을 기반으로 합니다.

비동기, 작업 및 지연

다음 표에는 F# 비동기, 작업 및 지연 식을 설명하는 항목이 나와 있습니다.

제목 Description
비동기 식 비동기 코드를 자연스럽게 작성하는 방식과 매우 유사한 방식으로 비동기 코드를 작성할 수 있도록 하는 비동기 식에 대해 알아봅니다.
작업 식 .NET 작업을 사용하거나 생성하는 .NET 코드와 상호 운용할 때 사용되는 비동기 코드를 작성하는 다른 방식인 작업 식에 대해 알아봅니다.
Lazy 식 즉시 평가되지 않는 대신 결과가 실제로 필요할 때 평가되는 계산인 지연 식에 대해 알아봅니다.

계산 식 및 쿼리

다음 표에는 F# 계산 식과 쿼리를 설명하는 항목이 나와 있습니다.

제목 Description
계산 식 제어 흐름 구문 및 바인딩을 사용하여 순차화하고 결합할 수 있는 계산을 작성하도록 간편한 구문을 제공하는 F#의 계산 식에 대해 알아봅니다. 함수형 프로그램에서 데이터, 컨트롤 및 부작용을 관리하는 데 사용할 수 있습니다.
쿼리 식 F#의 LINQ를 구현하고 데이터 원본 또는 열거 가능한 컬렉션에 대한 쿼리를 작성할 수 있도록 지원하는 언어 기능인 쿼리 식에 대해 알아봅니다.

특성, 리플렉션, 인용 및 일반 텍스트 서식

다음 표에는 특성, 인용 nameof 및 일반 텍스트 서식 등 F# 반사 기능을 설명하는 문서가 나와 있습니다.

제목 설명
특성 F# 특성을 사용하여 프로그래밍 구문에 메타데이터를 적용하는 방법을 알아봅니다.
nameof 소스 코드에서 기호의 이름을 생성할 수 있는 메타프로그래밍 기능인 nameof 연산자에 대해 알아봅니다.
호출자 정보 호출자 정보 인수 특성을 사용하여 메서드에서 호출자 정보를 가져오는 방법에 대해 알아봅니다.
소스 줄, 파일 및 경로 식별자 코드의 소스 줄 번호, 디렉터리 및 파일 이름에 액세스할 수 있도록 지원하는 기본 제공 값인 __LINE__, __SOURCE_DIRECTORY____SOURCE_FILE__ 식별자에 대해 알아봅니다.
코드 인용 F# 코드 식을 프로그래밍 방식으로 생성하여 사용할 수 있도록 지원하는 언어 기능인 코드 인용에 대해 알아봅니다.
일반 텍스트 형식 F# 애플리케이션 및 스크립트에서 sprintf 및 기타 일반 텍스트 형식을 사용하는 방법을 알아봅니다.

형식 공급자

다음 표에는 F# 형식 공급자를 설명하는 문서가 나와 있습니다.

제목 Description
형식 공급자 형식 공급자에 대해 알아보고 기본 제공 형식 공급자를 사용하여 데이터베이스 및 웹 서비스에 액세스하는 연습 링크를 확인하세요.
형식 공급자 만들기 기본 개념을 설명하는 몇 가지 간단한 형식 공급자를 검사하여 고유한 F# 형식 공급자를 만드는 방법을 알아봅니다.

F# 핵심 라이브러리 API 참조

F# 핵심 라이브러리(FSharp.core) API 참조는 모든 F# 핵심 라이브러리 네임스페이스, 모듈, 형식 및 함수에 대한 참조입니다.

참조 테이블

다음 표에서는 F#의 토큰으로 사용되는 키워드, 기호, 리터럴의 테이블을 제공하는 참조 문서를 보여 줍니다.

제목 Description
키워드 참조 모든 F# 언어 키워드에 대한 정보 링크를 포함합니다.
기호 및 연산자 참조 F#에서 사용되는 기호와 연산자에 대한 표가 포함됩니다.

컴파일러 지원 구문

다음 표에는 특별한 컴파일러 지원 구문을 설명하는 항목이 나와 있습니다.

항목 Description
컴파일러 옵션 F# 컴파일러에 대한 명령줄 옵션에 대해 설명합니다.
컴파일러 지시문 F# 컴파일러에서 지원하는 프로세서 지시문 및 컴파일러 지시문에 대해 설명합니다.