Block following this 'let' is unfinished. Expect an expression.

Posted by boraer on Stack Overflow See other posts from Stack Overflow or by boraer
Published on 2010-05-09T10:43:27Z Indexed on 2010/05/09 10:48 UTC
Read the original article Hit count: 1823

Filed under:

Hi everbody I am doing a project with F# but I get this error when i use let num= line for the following code . I'm new at F# so I can not solve the problem. My code should do this things. User enter a number and calculate the fibonacci but if user enter not a number throw exception

open System
let rec fib n = 
match n with
|0->0
|1->1
|2->1
|n->fib(n-1)+fib(n-2);;

let printFibonacci list = 
for i=0 to (List.length list)-1 do
printf "%d " (list.Item(i));;


let control = true
while control do 
    try
    printfn "Enter a Number:" 

    let num:int = Convert.ToInt32(stdin.ReadLine()) 

    with
        | :? System.FormatException->printfn "Number Format Exception";
    let listFibonacci = [for i in 0 .. num-1->fib(i)]
    printFibonacci(listFibonacci)
    printfn "\n%A"(listFibonacci)
    control<-false

Console.ReadKey(true)
exit 0;;

© Stack Overflow or respective owner

Related posts about F#