У меня есть эти две функции
//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)
| [] -> []
| [_] -> []
Эта работа.
Но теперь я подумал, что смогу немного узнать о рекурсии хвоста, которую мне трудно понять.
Вот почему я подумал, что, если бы я мог получить некоторую помощь в создании функций, я сделал бы себя рекурсивным, возможно, стало бы более понятно, как это работает, вместо того, чтобы читать где-нибудь пример, который я мог бы не понять, а также свой собственный код (помни, я полный f # новичок :))
Любые другие конструктивные комментарии о моем коде, конечно, приветствуются!