F#. Переполняется стэк.
От: MAMOHT  
Дата: 25.10.13 11:10
Оценка:
Вроде бы хвостовая рекурсия, а вываливается с переполнением стэка:
//парсим строку и создаем новую структуру
let newRec (aStr:String) = 
    match Array.toList(aStr.Split [|'\t'|]) with
    | [u; s; d; a; p;] ->   try
                                Some (new record (u, int s, float d, float a, float p))
                            with
                                | :? System.FormatException -> None //какая-то цифра неверна, ну и фиг с ней
    | _ -> None


//преобразуем список строк в список структур
let rec toList l = 
    match l with
    | [] -> []
    | x :: t -> 
        newRec(x) :: toList t

let r = toList lines
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.