У меня вопрос, почему я получаю определенные результаты в F #. У меня есть следующий код ...
let lHelloWorld = lazy(printfn "Lazy Hello World"; 30+30)
let aHelloWorld = (printfn "Active Hello World"; 30+30)
printfn "lazy value is %d" lHelloWorld.Value
printfn "lazy value is %d" lHelloWorld.Value
printfn "active value is %d" aHelloWorld
printfn "active value is %d" aHelloWorld
Мой вывод выглядит следующим образом ...
Active Hello World
Lazy Hello World
lazy value is 60
lazy value is 60
active value is 60
active value is 60
Чего я не могу понять, так это ... Почему printfn активного привет-мира показывается перед ленивым привет-словом? Я ожидал, что «Ленивый мир приветствия» будет показан раньше, чем «Активный привет мир»?
Если кто-нибудь может помочь объяснить это, то будет очень признателен.