다음을 통해 공유


기호 및 연산자 참조(F#)

업데이트: 2010년 10월

이 항목에서는 F# 언어에 사용되는 기호와 연산자의 표를 제공합니다.

기호 및 연산자 표

다음 표에서는 F# 언어에 사용되는 기호를 설명하고, 더 자세한 정보가 있는 항목의 링크를 제공하고, 기호 사용에 관련된 몇 가지 간략한 설명도 제공합니다. 기호는 ASCII 문자 집합 순서에 따라 정렬되어 있습니다.

기호 또는 연산자

링크

설명

!

참조 셀(F#)

계산 식(F#)

  • 참조 셀을 역참조합니다.

  • 키워드 다음에 워크플로를 통해 제어되는 키워드 동작의 수정된 버전을 표시합니다.

!=

해당 사항 없음.

  • F#에는 사용되지 않습니다. 같지 않음 작업에 <>를 사용합니다.

"

리터럴(F#)

  • 텍스트 문자열을 구분합니다.

#

컴파일러 지시문(F#)

유연한 형식(F#)

  • #light에서와 같이 전처리기 또는 컴파일러 지시문에 접두사를 추가합니다.

  • 형식에 사용하는 경우 형식 또는 그 파생 형식 중 하나를 가리키는 유연한 형식을 나타냅니다.

$

더 이상 관련 정보가 제공되지 않습니다.

  • 컴파일러를 통해 생성되는 특정 변수 및 함수 이름에 내부적으로 사용됩니다.

%

산술 연산자(F#)

코드 인용(F#)

  • 정수 모듈러스를 계산합니다.

  • 인용을 결합하는 데 사용됩니다.

&

일치 식(F#)

  • 다른 언어와 상호 작용할 때 사용하기 위한 변경 가능한 값의 주소를 계산합니다.

  • AND 패턴에 사용됩니다.

&&

부울 연산자(F#)

  • 부울 AND 연산을 수행합니다.

&&&

비트 연산자(F#)

  • 비트 AND 연산을 수행합니다.

'

리터럴(F#)

자동 일반화(F#)

  • 단일 문자 리터럴을 구분합니다.

  • 제네릭 형식 매개 변수를 나타냅니다.

``...``

더 이상 관련 정보가 제공되지 않습니다.

  • 언어 키워드 등과 같이 유효한 식별자가 아니었을 식별자를 구분합니다.

( )

단위 형식(F#)

  • 단위 형식의 단일 값을 나타냅니다.

(...)

튜플(F#)

연산자 오버로드(F#)

  • 식을 계산하는 순서를 나타냅니다.

  • 튜플을 구분합니다.

  • 연산자 정의에 사용됩니다.

(*...*)

  • 여러 줄에 걸쳐 나타날 수 있는 주석을 구분합니다.

(|...|)

활성 패턴(F#)

  • 활성 패턴을 구분합니다. 바나나 클립이라고도 합니다.

*

산술 연산자(F#)

튜플(F#)

측정 단위(F#)

  • 이항 연산자로 사용하는 경우 좌변과 우변을 곱합니다.

  • 형식에 사용하는 경우 튜플의 쌍을 나타냅니다.

  • 측정 단위 형식에 사용됩니다.

**

산술 연산자(F#)

  • 지수 연산을 수행합니다. x ** y는 x의 y제곱을 의미합니다.

+

산술 연산자(F#)

  • 이항 연산자로 사용하는 경우 좌변과 우변을 더합니다.

  • 단항 연산자로 사용하는 경우 양의 수량을 나타냅니다. 형식적인 측면에서 이는 변경되지 않은 부호와 같은 값을 생성합니다.

,

튜플(F#)

  • 튜플의 요소 또는 형식 매개 변수를 구분합니다.

-

산술 연산자(F#)

  • 이항 연산자로 사용하는 경우 좌변에서 우변을 뺍니다.

  • 단항 연산자로 사용하는 경우 부정 연산을 수행합니다.

->

함수(F#)

일치 식(F#)

  • 함수 형식에 사용하는 경우 인수와 반환 값을 구분합니다.

  • (시퀀스 식의) 식을 산출합니다. yield 키워드와 같습니다.

  • 일치 식에 사용됩니다.

.

멤버(F#)

기본 형식(F#)

  • 멤버에 액세스하고 정규화된 이름에서 개별 이름을 구분합니다.

  • 부동 소수점 숫자에서 소수점을 지정합니다.

..

루프: for...in 식(F#)

  • 범위를 지정합니다.

.. ..

루프: for...in 식(F#)

  • 증분을 포함하여 범위를 지정합니다.

.[...]

배열(F#)

  • 배열 요소에 액세스합니다.

/

산술 연산자(F#)

측정 단위(F#)

  • 좌변(분자)을 우변(분모)으로 나눕니다.

  • 측정 단위 형식에 사용됩니다.

//

  • 한 줄 주석의 시작 지점을 나타냅니다.

///

XML 문서(F#)

  • XML 주석을 나타냅니다.

:

함수(F#)

  • 형식 주석에서 매개 변수 또는 멤버 이름을 해당 형식과 구분합니다.

::

목록(F#)

일치 식(F#)

  • 목록을 만듭니다. 좌변에 있는 요소가 우변에 있는 목록에 추가됩니다.

  • 목록의 각 부분을 구분하기 위해 패턴 일치에 사용됩니다.

:=

참조 셀(F#)

  • 참조 셀에 값을 할당합니다.

:>

캐스팅 및 변환(F#)

  • 형식을 계층 구조의 더 높은 수준에 있는 형식으로 변환합니다.

:?

일치 식(F#)

  • 값이 지정된 형식과 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이는 형식 테스트 연산자입니다.

:?>

캐스팅 및 변환(F#)

  • 형식을 계층 구조의 더 낮은 수준에 있는 형식으로 변환합니다.

;

자세한 구문(F#)

목록(F#)

레코드(F#)

  • 식을 구분합니다. 대개의 경우 자세한 구문에 사용됩니다.

  • 목록의 요소를 구분합니다.

  • 레코드의 필드를 구분합니다.

<

산술 연산자(F#)

  • 보다 작음 연산을 수행합니다.

<<

함수(F#)

  • 두 함수의 순서를 반대로 만듭니다. 둘째 함수가 먼저 실행됩니다. 이는 역방향 컴퍼지션 연산자입니다.

<<<

비트 연산자(F#)

  • 좌변에 있는 수량의 비트를 우변에 지정된 비트 수만큼 왼쪽으로 이동합니다.

<-

값(F#)

  • 변수에 값을 할당합니다.

<...>

자동 일반화(F#)

  • 형식 매개 변수를 구분합니다.

<>

산술 연산자(F#)

  • 좌변이 우변과 같지 않으면 true를 반환하고, 좌변과 우변이 같으면 false를 반환합니다.

<=

산술 연산자(F#)

  • 좌변이 우변보다 작거나 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

<|

함수(F#)

  • 우변에 있는 식의 결과를 좌변에 있는 함수에 전달합니다. 이는 역방향 파이프 연산자입니다.

<@...@>

코드 인용(F#)

  • 형식이 있는 코드 인용을 구분합니다.

<@@...@@>

코드 인용(F#)

  • 형식이 없는 코드 인용을 구분합니다.

=

산술 연산자(F#)

  • 좌변이 우변과 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

==

해당 사항 없음.

  • F#에는 사용되지 않습니다. 같음 작업에 =를 사용합니다.

>

산술 연산자(F#)

  • 좌변이 우변보다 크거나 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

>>

함수(F#)

  • 두 함수를 구성합니다. 이는 순방향 컴퍼지션 연산자입니다.

>>>

비트 연산자(F#)

  • 좌변에 있는 수량의 비트를 우변에 지정된 자리 수만큼 오른쪽으로 이동합니다.

>=

산술 연산자(F#)

  • 우변이 좌변보다 크거나 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

?

매개 변수 및 인수(F#)

  • 선택적 인수를 지정합니다.

  • 동적 메서드 및 속성 호출을 위한 연산자로 사용됩니다. 자신의 구현을 직접 제공해야 합니다.

? ... <- ...

더 이상 관련 정보가 제공되지 않습니다.

  • 동적 속성 설정을 위한 연산자로 사용됩니다. 자신의 구현을 직접 제공해야 합니다.

@

목록(F#)

문자열(F#)

  • 두 목록을 연결합니다.

  • 문자열 리터럴 앞에 놓여 있으면 이스케이프 문자를 해석하지 말고 문자열을 약어로 해석해야 한다는 의미입니다.

[...]

목록(F#)

  • 목록의 요소를 구분합니다.

[|...|]

배열(F#)

  • 배열의 요소를 구분합니다.

[<...>]

특성(F#)

  • 특성을 구분합니다.

\

문자열(F#)

  • 다음 문자를 이스케이프합니다. 문자 및 문자열 리터럴에 사용됩니다.

^

정적으로 확인된 형식 매개 변수(F#)

문자열(F#)

  • 런타임이 아니라 컴파일 타임에 확인해야 할 형식 매개 변수를 지정합니다.

  • 문자열을 연결합니다.

^^^

비트 연산자(F#)

  • 배타적 비트 OR 연산을 수행합니다.

_

일치 식(F#)

제네릭(F#)

  • 와일드카드 패턴을 나타냅니다.

  • 익명 제네릭 매개 변수를 지정합니다.

`

자동 일반화(F#)

  • 제네릭 형식 매개 변수를 나타내기 위해 내부적으로 사용됩니다.

{...}

시퀀스(F#)

레코드(F#)

  • 시퀀스 식과 계산 식을 구분합니다.

  • 레코드 정의에 사용됩니다.

|

일치 식(F#)

  • 개별 일치 사례, 각각의 구별된 공용 구조체 사례 및 열거형 값을 구분합니다.

||

부울 연산자(F#)

  • 부울 OR 연산을 수행합니다.

|||

비트 연산자(F#)

  • 비트 OR 연산을 수행합니다.

|>

함수(F#)

  • 좌변의 결과를 우변에 있는 함수에 전달합니다. 이는 순방향 파이프 연산자입니다.

~~

연산자 오버로드(F#)

  • 단항 부정 연산자에 대한 오버로드를 선언하는 데 사용됩니다.

~~~

비트 연산자(F#)

  • 비트 NOT 연산을 수행합니다.

~-

연산자 오버로드(F#)

  • 단항 빼기 연산자에 대한 오버로드를 선언하는 데 사용됩니다.

~+

연산자 오버로드(F#)

  • 단항 더하기 연산자에 대한 오버로드를 선언하는 데 사용됩니다.

연산자 우선 순위

다음 표에는 F# 언어에 사용되는 연산자 및 기타 식 키워드의 우선 순위가 가장 낮은 우선 순위부터 가장 높은 우선 순위 순으로 나와 있습니다. 결합성을 적용할 수 있는 경우 해당 결합성도 나열되어 있습니다.

Operator

결합성

as

Right

when

Right

| (파이프)

Left

;

Right

let

결합성 없음

function, fun, match, try

결합성 없음

if

결합성 없음

->

Right

:=

Right

,

결합성 없음

or, ||

Left

&, &&

Left

<op, >op, =, |op, &op

Left

&&&, |||, ^^^, ~~~, <<<, >>>

Left

^op

Right

::

Right

:?>, :?

결합성 없음

-op, +op(이항)

Left

*op, /op, %op

Left

**op

Right

f x(함수 적용)

Left

| (패턴 일치)

Right

접두사 연산자(+op, -op, %, %%, &, &&, !op, ~op)

Left

.

Left

f(x)

Left

f<types>

Left

F#은 사용자 지정 연산자 오버로드를 지원합니다. 즉, 자신만의 고유한 연산자를 정의할 수 있습니다. 위 표에서 op는 기본 제공되거나 사용자 정의된 연산자 문자로 이루어진 임의의 유효한 시퀀스일 수 있습니다. 이 시퀀스는 비어 있을 수도 있습니다. 따라서 이 표를 사용하면 원하는 수준의 우선 순위를 얻기 위해 사용자 지정 연산자에 사용할 수 있는 문자 시퀀스를 확인할 수 있습니다. 맨 앞에 오는 . 문자는 컴파일러에서 우선 순위를 결정할 때 무시됩니다.

참고 항목

참조

연산자 오버로드(F#)

기타 리소스

F# 언어 참조

변경 기록

날짜

변경 내용

이유

2010년 10월

같음 연산자 및 같지 않음 연산자에 대한 정보를 추가했습니다.

향상된 기능 관련 정보

2011년 4월

우선 순위 표에 비트 연산자를 추가했습니다.

고객 의견