Grałem z F # (Visual Studio 2010 beta 1) i napisałem mały skrypt konsoli, który poprosił użytkownika o wprowadzenie 2 liczb i operatora, a następnie go wykonał. Działa to dobrze, oprócz drobnych, ale denerwujących rzeczy: czasami moje instrukcje printfn są ignorowane. Umieściłem punkty przerwania w kodzie, aby zobaczyć, że tak jest rzeczywiście.F # dziwny problem printfn
Fragment kodu:
let convert (source : string) =
try System.Int32.Parse(source)
with :? System.FormatException ->
printfn "'%s' is not a number!" source;
waitForExitKey();
exit 1
let read =
printfn "Please enter a number.";
System.Console.ReadLine
let num1 : int = read() |> convert // the printfn in the read function is run...
let num2 : int = read() |> convert // ... but here is ignored
To nie jest kompletnym źródłem oczywiście, ale myślę, że będzie wystarczająco. Jeśli potrzebujesz pełnego źródła, daj mi znać.
Moje pytanie jest bardzo proste: co powoduje ten problem z printfn? czy robię coś źle?
Dzięki z góry, ShdNx
Dziękuję bardzo! Niestety Ray był szybszy, więc przyjąłem jego odpowiedź. Ale nadal cieszę się, że to wyjaśniłeś. Dzięki jeszcze raz! – ShdNx
Zgadzam się! +1 dla lepszego wyjaśnienia! –