|
Подскажите плз по F#
| ☑ |
0
megabax
10.03.13
✎
15:36
|
Пробую пример с правосторонней разверткой списка.
let a=1L;
let b=1000000L;
let list=[a..b];
let fold_right func acc list =
let rec loop list cont = //сюда мы передаем текущую функцию континуации
match list with
|[] -> cont acc //а вот и наше ключевое вычисление.
|head::tail -> loop tail (fun racc -> cont (func head racc))
loop list (fun x -> x)
let reverse = fold_right(fun _ acc -> acc + 1) 0
let sl=reverse(list);
System.Console.Write(sl);
System.Console.Read();
но поечему то вылетает с переполненеим стека, хотя такой код вреод как должне решить проблемы переполнен стека (взял тсюуда
подскажите плз, где грабли?
|
|
1
HeroShima
11.03.13
✎
20:35
|
Ответа не знаю. Знаю )
|
|
2
PiVa123
11.03.13
✎
20:39
|
Ё - и тут Фа диез, откуда вы беретесь ? Из секретной лаборатории мелкомягких ?
|
|
3
HeroShima
11.03.13
✎
21:11
|
-хм... нас так долго обманывали
|
|
4
фобка
11.03.13
✎
21:18
|
(3) опрос среди дебилов?)
Я бы использовал этот язык в качестве языка для скриптинга другой (большей) программы 10.SQL (+8) - какой "скриптинг" на скуле?) и фортран обошел вб, тоже смешно)
|
|
5
HeroShima
11.03.13
✎
21:27
|
(4) сам на скуль там пялился) или прикололись, или имели в виду x/SQL какой-нть
|
|
6
HeroShima
11.03.13
✎
21:30
|
или подразумевали работу с данными проги
|
|