다음을 통해 공유


단위 형식

형식은 unit 특정 값이 없음을 나타내는 형식입니다. 형식에는 다른 값 unit 이 없거나 필요한 경우 자리 표시자 역할을 하는 단일 값만 있습니다.

구문

// The value of the unit type.
()

설명

모든 F# 식은 값으로 평가되어야 합니다. 관심 있는 값을 생성하지 않는 식의 경우 형식 unit 값이 사용됩니다. 형식은 unit C# 및 C++와 같은 언어의 형식과 유사 void 합니다.

형식에는 unit 단일 값이 있으며 해당 값은 토큰 ()으로 표시됩니다.

형식의 unit 값은 종종 F# 프로그래밍에서 언어 구문에서 값이 필요한 위치를 유지하는 데 사용되지만 값이 필요하거나 필요한 경우는 없습니다. 예를 들어 함수의 반환 값이 printf 있을 수 있습니다. 함수에서 작업의 중요한 동작이 printf 발생하므로 함수는 실제 값을 반환할 필요가 없습니다. 따라서 반환 값은 형식 unit입니다.

일부 구문에는 값이 unit 예상됩니다. 예를 들어 do 모듈의 최상위 수준에 있는 바인딩 또는 코드는 값으로 unit 평가되어야 합니다. 컴파일러는 다음 예제와 같이 모듈의 최상위 수준에 있는 바인딩 또는 코드가 사용되지 않는 값 이외의 unit 결과를 생성할 때 do 경고를 보고합니다.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

이 경고는 기능 프로그래밍의 특징입니다. 다른 .NET 프로그래밍 언어에는 표시되지 않습니다. 함수에 부작용이 없는 순수 함수 프로그램에서 최종 반환 값은 함수 호출의 유일한 결과입니다. 따라서 결과가 무시되면 프로그래밍 오류가 발생할 수 있습니다. F#은 순수하게 기능적인 프로그래밍 언어는 아니지만 가능하면 기능 프로그래밍 스타일을 따르는 것이 좋습니다.

참고 항목