Lazy.Force<'T> 확장 메서드(F#)
이 값의 예외를 적용하여 그 결과를 반환합니다. Value와 동일합니다. 다른 스레드에서는 값을 계산하지 못하도록 방지하기 위해 상호 제외가 사용됩니다.
네임스페이스/모듈 경로: Microsoft.FSharp.Control.LazyExtensions
어셈블리: FSharp.Core(FSharp.Core.dll)
// Signature:
type System.Lazy with
member Force : unit -> 'T
// Usage:
lazy.Force ()
반환 값
Lazy 개체의 값입니다.
예제
다음 코드에서는 Force 확장 메서드의 사용 방법을 보여 줍니다.
let lazyFactorial n = Lazy.Create (fun () ->
let rec factorial n =
match n with
| 0 | 1 -> 1
| n -> n * factorial (n - 1)
factorial n)
let printLazy (lazyVal:Lazy<int>) =
if (lazyVal.IsValueCreated) then
printfn "Retrieving stored value: %d" (lazyVal.Value)
else
printfn "Computing value: %d" (lazyVal.Force())
let lazyVal1 = lazyFactorial 12
let lazyVal2 = lazyFactorial 10
lazyVal1.Force() |> ignore
printLazy lazyVal1
printLazy lazyVal2
출력에는 Force가 lazyVal1의 값을 생성하도록 호출되는 시기를 표시하며 계산된 값은 값을 인쇄하면 검색됩니다.
플랫폼
Windows Windows 서버 2012, Windows Server 2008 R2, Windows 7, 8
버전 정보
F# 코어 라이브러리 버전
지원되는 버전: 2.0