Я создал свой собственный тип данных И я пытаюсь создать сумму всех чисел в этом типе данных, который является списком списков. Я не хочу использовать любые F # библиотекиF # сумма списка списков
Мой тип данных
type elist = A | L of int * elist
Я новичок в F # и пытается понять мою голову на него. Я хочу сделать это рекурсивно. Мое мышление заключается в том, чтобы пройти до конца списка и начать сумму и вернуться на фронт и добавить каждый.
пример:
let l = L(4, L(3, L(6, L(3, A))))
, который должен вернуть
val it : int 16
Вот мой код, и я знаю, что это не так:
let rec sum l =
let a = 0
match l with
| A -> 0
| L(head,A) -> head
| L(head,tail) -> sum tail + a
Как и http://stackoverflow.com/q/39461659/126014 и http://stackoverflow.com/q/39462259/126014 Почти наверняка домашнее задание. –