다음을 통해 공유


지연 식

지연 식은 즉시 평가되지 않지만 결과가 필요할 때 대신 평가되는 식입니다. 이렇게 하면 코드의 성능을 향상시키는 데 도움이 될 수 있습니다.

문법

let identifier = lazy ( expression )

비고

이전 구문에서 은 결과가 필요한 경우에만 계산되는 코드이며 식별자는 결과를 저장하는 값입니다. 값은 형식 Lazy<'T>입니다. 여기서 사용되는 'T 실제 형식은 식의 결과에서 결정됩니다.

지연 식을 사용하면 식의 실행을 결과가 필요한 상황으로만 제한하여 성능을 향상시킬 수 있습니다.

식을 강제로 수행하려면 메서드 Force를 호출합니다. Force 는 실행이 한 번만 수행되도록 합니다. 이후 호출은 Force 동일한 결과를 반환하지만 코드를 실행하지는 않습니다.

다음 코드에서는 지연 식의 사용 및 사용 방법을 Force보여 줍니다. 이 코드에서 형식 result 은 다음과 이며 Lazy<int>메서드는 Force .를 반환합니다 int.

let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())

형식이 Lazy 아닌 지연 계산도 시퀀스에 사용됩니다. 자세한 내용은 시퀀스를 참조하세요.

Formatting

여러 줄 지연 식의 경우 식 본문이 한 수준 들여쓰기를 사용하여 여는 괄호를 키워드와 같은 줄 lazy 에 배치합니다.

let expensiveCalculation =
    lazy (
        let step1 = performStep1()
        let step2 = performStep2 step1
        step2 * 2
    )

지연 식의 서식 지정에 대한 자세한 내용은 F# 서식 지정 가이드를 참조하세요.

참고하십시오