Я тестирую некоторый простой код F # для выражения «если», но результат для меня неожиданный:
> let test c a b = if c then a else b;;
val test : bool -> 'a -> 'a -> 'a
Тем не менее
> test true (printfn "a") (printfn "b");;
a
b
val it : unit = ()
Я бы ожидал, что напечатана только буква "а", но здесь я получил "а" и "б" Интересно, почему так получается? Спасибо!