Я хочу написать функцию, которая вставляет значение v в список в позиции a. тип списка
type RefList<'t> = Item<'t> ref
and Item<'t> = | Nil | Cons of 't * RefList<'t>
let rec insert<'t> (a: int) (v: <'t>) (structure: RefList<'t>): unit =
и
let rec remove<'t> (a: int) (structure: RefList<'t>): unit =
Я пробовал что-то подобное, но я уверен, что я нахожусь на очень неправильном пути
let mutable worker = 0
if a = worker then then Cons(v, !structure) else Cons(y, insert i v ys)
worker <- worker + 1
Я не уверен, должен ли я сопоставить | Nil и | Cons или нет. «блок» смущает меня.
Надеюсь, кто-нибудь может мне помочь, спасибо!
Редактировать: у меня уже есть функции RefListToList и ListToRefList. это может быть полезно для других функций