2014-12-10 2 views
1

Вот что я хочу:Чтение списка междунар из консоли

let rec getList (cnt:int, acc: int list): int list = 
    if cnt = 0 then 
     acc 
    else 
     let n = Console.ReadLine() |> int 
     getList (cnt-1) n::acc 

И называть это так:

getList 10 [] 

Для чтения 10 целых чисел со стандартного ввода и возврата список из 10 целых чисел. Но я получаю ошибку:

getList (cnt-1) n::acc --------^^^^^^^^^^^^^^^

/Users/demas/temporary/stdin(890,9): error FS0003: This value is not a function and cannot be applied

Почему?

ответ

3

Ваша функция принимает один кортеж как arg, и вы вызываете его двумя аргументами. Это должно быть getList (cnt-1, n::acc).

+0

Спасибо, я исправляю объявление функции, чтобы получить int и список int. – demas

Смежные вопросы