Имам тези две функции
//Remove all even indexed elements from a list and return the rest
let rec removeEven l =
match l with
| x0::x1::xs -> x1::removeEven (xs)
| [] -> []
| [_] -> []
//combine list members into pairs
let rec combinePair l =
match l with
| x0::x1::xs -> (x0,x1) :: combinePair(xs)
| [] -> []
| [_] -> []
Тази работа.
Но си помислих, че сега, когато се занимавах с това, бих могъл да науча малко за рекурсията на опашката, която ми е трудно да разбера.
Ето защо си помислих, че ако мога да получа малко помощ за създаване на функции, които бях направил рекурсивни на опашка, може би щеше да стане по-ясно как работи, вместо да чета някъде пример, който може да не разбирам толкова добре, колкото собствения си код (помнете, Аз съм пълен е# новак :))
Всички други конструктивни коментари относно моя код, разбира се, са добре дошли!
removeEven [1;2]
връща[2]
? Копирах поведението му в моя отговор, но изглежда трябва да се наричаreturnEven
илиremoveOdd
или нещо подобно. - person Daniel   schedule 21.02.2012