이 문서에는 F#에서 사용되는 기호 및 연산자를 설명하는 테이블이 포함되어 있으며 각각에 대한 간략한 설명을 제공합니다. 일부 기호 및 연산자는 여러 역할에서 사용되는 경우 둘 이상의 항목을 갖습니다.
주석, 컴파일러 지시문 및 특성 기호
다음 표에서는 주석, 컴파일러 지시문 및 특성과 관련된 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
(*...*) |
여러 줄에 걸쳐 있을 수 있는 주석을 구분합니다. | |
// |
한 줄 주석의 시작을 나타냅니다. | |
/// |
XML 설명서 | XML 주석을 나타냅니다. |
# |
컴파일러 지시문 | 전처리기 또는 컴파일러 지시문의 접두사를 지정합니다. |
[<...>] |
특성 | 특성을 구분합니다. |
문자열 및 식별자 기호
다음 표에서는 문자열과 관련된 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
" |
문자열 | 텍스트 문자열을 구분합니다. |
@" |
문자열 | 백슬라이쉬 및 기타 문자를 포함할 수 있는 축자 텍스트 문자열을 시작합니다. |
""" |
문자열 | 백슬라시, 큰따옴표 및 기타 문자를 포함할 수 있는 큰따옴표로 묶인 텍스트 문자열을 구분합니다. |
$" |
보간된 문자열 | 보간된 문자열을 시작합니다. |
' |
리터럴 | 단일 문자 리터럴을 구분합니다. |
``...`` |
언어 키워드와 같이 법적 식별자가 아닌 식별자를 구분합니다. | |
\ |
문자열 | 다음 문자를 이스케이프합니다. 문자 및 문자열 리터럴에 사용됩니다. |
산술 연산자
다음 표에서는 산술 연산자를 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
+ |
산술 연산자 |
|
- |
산술 연산자 |
|
* |
산술 연산자 튜플 측정 단위 |
|
/ |
산술 연산자 측정 단위 |
|
% |
산술 연산자 | 정수 나머지를 계산합니다. |
** |
산술 연산자 | 지수 연산(즉,x ** yx )을 y계산합니다. |
비교 연산자
다음 표에서는 비교 연산자를 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
< |
산술 연산자 | 보다 작은 연산을 계산합니다. |
<> |
산술 연산자 |
true 왼쪽이 오른쪽과 같지 않으면 반환하고, 그렇지 않으면 false를 반환합니다. |
<= |
산술 연산자 |
true 왼쪽이 오른쪽보다 작거나 같으면 반환하고, 그렇지 않으면 반환합니다false. |
= |
산술 연산자 |
true 왼쪽이 오른쪽과 같으면 반환하고, 그렇지 않으면 반환합니다false. |
> |
산술 연산자 | 왼쪽이 오른쪽보다 크면 반환 true 하고, 그렇지 않으면 반환합니다 false. |
>= |
산술 연산자 |
true 왼쪽이 오른쪽보다 크거나 같으면 반환하고, 그렇지 않으면 반환합니다false. |
부울 연산자
다음 표에서는 산술 연산자 및 부울 연산자 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
&& |
부울 연산자 | 부울 AND 작업을 계산합니다. |
|| |
부울 연산자 | 부울 OR 연산을 계산합니다. |
비트 연산자
다음 표에서는 비트 연산자를 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
&&& |
비트 연산자 |
비트 AND 연산을 계산합니다. |
<<< |
비트 연산자 |
왼쪽에 있는 수량의 비트를 오른쪽에 지정된 비트 수만큼 왼쪽으로 이동합니다. |
>>> |
비트 연산자 |
오른쪽에 지정된 위치 수만큼 왼쪽에서 오른쪽으로 수량의 비트를 이동합니다. |
^^^ |
비트 연산자 |
비트 배타적 OR 연산을 계산합니다. |
||| |
비트 연산자 |
비트 OR 연산을 계산합니다. |
~~~ |
비트 연산자 |
비트 NOT 연산을 계산합니다. |
함수 기호 및 연산자
다음 표에서는 함수와 관련된 연산자 및 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
-> |
함수 | 함수 식에서 입력 패턴을 출력 식과 구분합니다. |
|> |
함수 | 왼쪽의 결과를 오른쪽 함수(정방향 파이프 연산자)에 전달합니다. |
||> |
( ||> )<'T1,'T2,'U> 함수 | 왼쪽에 있는 두 인수의 튜플을 오른쪽의 함수에 전달합니다. |
|||> |
( |||> )<'T1,'T2,'T3,'U> 함수 | 왼쪽에 있는 세 인수의 튜플을 오른쪽의 함수에 전달합니다. |
>> |
함수 | 두 함수(정방향 컴퍼지션 연산자)를 작성합니다. |
<< |
함수 | 두 함수를 역순으로 작성합니다. 두 번째 함수는 먼저 실행됩니다(뒤로 컴퍼지션 연산자). |
<| |
함수 | 오른쪽에 있는 식의 결과를 왼쪽의 함수(뒤로 파이프 연산자)에 전달합니다. |
<|| |
( <|| )<' T1,'T2,'U> 함수 | 오른쪽에 있는 두 인수의 튜플을 왼쪽의 함수에 전달합니다. |
<||| |
( <||| )<' T1,'T2,'T3,'U> 함수 | 오른쪽에 있는 세 인수의 튜플을 왼쪽의 함수에 전달합니다. |
형식 기호 및 연산자
다음 표에서는 형식 주석 및 형식 테스트와 관련된 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
-> |
함수 | 함수 형식에서 인수와 반환 값을 구분하고 시퀀스 식의 결과도 생성합니다. |
: |
함수 | 형식 주석에서 매개 변수 또는 멤버 이름을 해당 형식과 구분합니다. |
:> |
캐스팅 및 변환 | 계층 구조에서 더 높은 형식으로 형식을 변환합니다. |
:? |
일치 표현식 |
true 값이 지정된 형식(하위 형식인 경우 포함)과 일치하는지 반환하고, 그렇지 않으면 (형식 테스트 연산자)를 반환 false 합니다. |
:?> |
캐스팅 및 변환 | 형식을 계층 구조의 하위 형식으로 변환합니다. |
# |
유연한 형식 | 형식과 함께 사용하는 경우 형식 또는 파생 형식 중 하나를 참조하는 유연한 형식을 나타냅니다. |
' |
자동 일반화 | 제네릭 형식 매개 변수를 나타냅니다. |
<...> |
자동 일반화 | 형식 매개 변수를 구분합니다. |
^ |
정적으로 확인된 형식 매개 변수 문자열 |
|
{} |
클래스 또는 레코드 | 키워드와 함께 type 사용하는 경우 클래스 또는 레코드를 구분합니다. 형식은 멤버가 선언되거나 키워드가 class 사용되는 클래스입니다. 그렇지 않으면 레코드입니다. |
{||} |
익명 레코드 | 익명 레코드를 나냄 |
멤버 조회 및 조각 식에 사용되는 기호
다음 표에서는 멤버 조회 및 조각 식에 사용되는 추가 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
. |
멤버 | 멤버에 액세스하고 개별 이름을 정규화된 이름으로 구분합니다. |
[...] 또는 .[...] |
배열 인덱싱된 속성 조각 식 |
배열, 문자열 또는 컬렉션으로 인덱싱하거나 컬렉션 조각을 가져옵니다. |
튜플, 목록, 배열, 단위 식 및 패턴에 사용되는 기호
다음 표에서는 튜플, 목록, 단위 값 및 배열과 관련된 기호를 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
( ) |
단위 형식 | 단위 형식의 단일 값을 나타냅니다. |
, |
튜플 | 튜플 또는 형식 매개 변수의 요소를 구분합니다. |
:: |
목록 일치 표현식 |
|
@ |
목록 | 두 목록을 연결합니다. |
[...] |
목록 | 목록의 요소를 구분합니다. |
[|...|] |
배열 | 배열의 요소를 구분합니다. |
명령적 식에 사용되는 기호
다음 표에서는 식에 사용되는 추가 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
<- |
값 | 변수에 값을 할당합니다. |
; |
자세한 구문 |
식을 구분합니다(주로 자세한 구문에 사용됨). 또한 레코드의 목록 또는 필드 요소를 구분합니다. |
시퀀스 및 계산 식에 사용되는 추가 기호
다음 표에서는 시퀀스 및 계산 식에 사용되는 추가 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
-> |
시퀀스 | 시퀀스 식에서 식을 생성합니다. 키워드에 do yield 해당합니다. |
! |
계산 식 | 키워드 다음에는 계산 식에 의해 제어되는 키워드 동작의 수정된 버전을 나타냅니다. |
일치 패턴에 사용되는 추가 기호
다음 표에서는 패턴 일치와 관련된 기호를 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
-> |
일치 표현식 | 일치 식에 사용됩니다. |
& |
패턴 일치 |
|
_ |
일치 표현식 제네릭 |
|
| |
일치 표현식 | 개별 일치 사례, 개별 구분된 공용 구조체 사례 및 열거형 값을 구분합니다. |
선언에 사용되는 추가 기호
다음 표에서는 선언과 관련된 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
(|...|) |
활성 패턴 | 활성 패턴 이름을 구분합니다. 바나나 클립이라고도 합니다. |
? |
매개 변수 및 인수 | 선택적 인수를 지정합니다. |
~~ |
연산자 오버로드 | 단항 부정 연산자에 대한 오버로드를 선언하는 데 사용됩니다. |
~- |
연산자 오버로드 | 단항 빼기 연산자에 대한 오버로드를 선언하는 데 사용됩니다. |
~+ |
연산자 오버로드 | 단항 더하기 연산자에 대한 오버로드를 선언하는 데 사용됩니다. |
따옴표에 사용되는 추가 기호
다음 표에서는 코드 따옴표와 관련된 기호에 대해 설명합니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
<@...@> |
코드 따옴표 | 형식화된 코드 따옴표를 구분합니다. |
<@@...@@> |
코드 따옴표 | 형식화되지 않은 코드 따옴표를 구분합니다. |
% |
코드 따옴표 | 식을 형식화된 코드 따옴표로 접합하는 데 사용됩니다. |
%% |
코드 따옴표 | 식을 형식화되지 않은 코드 따옴표로 접합하는 데 사용됩니다. |
동적 조회 연산자
다음 표에서는 동적 조회 식에 사용되는 추가 기호에 대해 설명합니다. 일반적으로 일상적인 F# 프로그래밍에는 사용되지 않으며 이러한 연산자의 구현은 F# 코어 라이브러리에 제공되지 않습니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
? |
동적 메서드 및 속성 호출에 대한 연산자로 사용됩니다. | |
? ... <- ... |
동적 속성을 설정하기 위한 연산자로 사용됩니다. |
쿼리의 Nullable 연산자
Nullable 연산 자는 쿼리 식에서 사용하도록 정의됩니다. 다음 표에서는 이러한 연산자를 보여줍니다.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
%? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 정수 나머지를 계산합니다. |
*? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 왼쪽과 오른쪽을 곱합니다. |
+? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 왼쪽과 오른쪽을 추가합니다. |
-? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 왼쪽에서 오른쪽을 뺍니다. |
/? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 왼쪽을 오른쪽으로 나눕니다. |
<? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 보다 작음 연산을 계산합니다. |
<>? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 "같지 않음" 작업을 계산합니다. |
<=? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 "작거나 같음" 작업을 계산합니다. |
=? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 "equal" 연산을 계산합니다. |
>? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 "보다 큼" 작업을 계산합니다. |
>=? |
Nullable 연산자 | 오른쪽이 nullable 형식인 경우 "크거나 같음" 연산을 계산합니다. |
?>=, ?>, ?<=, ?<, ?=, ?<>, ?+?-, ?*?/ |
Nullable 연산자 | ?이 없는 해당 연산자와 동일합니다. 접두사입니다. 여기서 nullable 형식은 왼쪽에 있습니다. |
>=?, >?, <=?, <?, =?, <>?, +?-?, *?/? |
Nullable 연산자 | ?이 없는 해당 연산자와 동일합니다. nullable 형식이 오른쪽에 있는 접미사입니다. |
?>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+??-?, ?*??/? |
Nullable 연산자 | 둘 다 null 허용 형식인 주변 물음표가 없는 해당 연산자와 동일합니다. |
참조 셀 연산자(사용되지 않음)
다음 표에서는 참조 셀과 관련된 기호에 대해 설명합니다. 이러한 연산자를 사용하면 F# 6을 기준으로 권고 메시지가 생성됩니다. 자세한 내용은 참조 셀 작업 권고 메시지를 참조하세요.
| 기호 또는 연산자 | 링크 | 설명 |
|---|---|---|
! |
참조 셀 | 참조 셀을 역참조합니다. |
:= |
참조 셀 | 참조 셀에 값을 할당합니다. |
연산자 우선 순위
다음 표에서는 가장 낮은 우선 순위부터 가장 높은 우선 순위까지 순서대로 연산자 및 기타 식 키워드의 우선 순위(F#)를 보여 줍니다. 또한 해당하는 경우 결합성도 나열됩니다.
| 오퍼레이터 | 연관성 |
|---|---|
as |
오른쪽 |
when |
오른쪽 |
| (파이프) |
왼쪽 |
; |
오른쪽 |
let |
비연관 |
function, fun, matchtry |
비연관 |
if |
비연관 |
not |
오른쪽 |
-> |
오른쪽 |
:= |
오른쪽 |
, |
비연관 |
or, || |
왼쪽 |
&, && |
왼쪽 |
:>, :?> |
오른쪽 |
<
op, >op, , =|op, &op, &,$(포함 <<<, >>>, |||) &&& |
왼쪽 |
^
op(포함 ^^^) |
오른쪽 |
:: |
오른쪽 |
:? |
연관성이 없음 |
-
op, +op |
이러한 기호의 접두사 사용에 적용됩니다. |
*
op, /op, %op |
왼쪽 |
**
op |
오른쪽 |
f x (함수 애플리케이션)(포함 lazy x, assert x) |
왼쪽 |
| (패턴 일치) |
오른쪽 |
접두사 연산자(+op, op, %- , %%,&, &&!op, ~op) |
왼쪽 |
. |
왼쪽 |
f(x) |
왼쪽 |
f<
형식> |
왼쪽 |
F#은 사용자 지정 연산자 오버로드를 지원합니다. 즉, 고유한 연산자를 정의할 수 있습니다. 이전 표에서 op 은 기본 제공 또는 사용자 정의 연산자 문자의 유효한(비어 있는) 시퀀스일 수 있습니다. 따라서 이 표를 사용하여 원하는 수준의 우선 순위를 달성하기 위해 사용자 지정 연산자에 사용할 문자 시퀀스를 결정할 수 있습니다. 컴파일러에서 우선 순위를 결정할 때 선행 . 문자는 무시됩니다.
참고하십시오
.NET