F# compiler error “This expression was expected to have type unit but here has type bool.” expression in {if else} statements
问题 I have written such a function in F#: let TwistBasket (reverse: bool, quarters: int, overTwist: int byref) = overTwist <- 50 WaitForBasketReady() waitBasket.Reset() let move = 135*quarters - 25 + overTwist let speed = match reverse with | true -> -75y | false -> 75y let waitHandle = motorBasket.SpeedProfile(speed, 15u, uint32 move, 10u, true) Task.Factory.StartNew(fun () -> waitHandle.WaitOne() if (overTwist <> 0) then motorBasket.SpeedProfile(sbyte -speed, 0u, uint32 overTwist, 0u, true)