Ваша рекурсивная функция должна иметь аргумент типа integer.
Он должен прочитать ввод в консоли (Console.ReadLine()
) и попытаться разобрать его в целое число (Int32.TryParse()
).
Если синтаксический анализ завершился успешно, он добавляет результат анализа в аргумент, выводит эту сумму на консоль (printfn
) и рекурсивно вызывает функцию, передавая ей сумму.
Если синтаксический анализ завершился неудачно (завершение рекурсии), вы можете вернуть аргумент как результат или просто распечатать его.
let rec rechnen x =
match Int32.TryParse(Console.ReadLine()) with
| true, i -> printfn "%dN" (x + i)
rechnen (x + i)
| _ -> printfn "Gesamt: %d" x
let main(): unit =
printfn "Geben Sie Zahlen zum Addieren ein:"
rechnen 0