f# - 从可变列表中插入和删除
问题描述
我想编写一个函数,将值 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。这可能对其他功能有用
解决方案
推荐阅读
- javascript - Google Places Autocomplete 容器未固定到其关联的输入元素
- java - 与 AWS CodeArtifact for maven repo 集成后,AWS CodeBuild 中的 maven 构建时间增加
- python - Postgres 检查变量
- python - 我想用 Ruby 脚本编写一个 python 代码,怎么做?
- java - 如果使用 Scanner 将多个文本字段的值保存在文本文件中,Java Swing GUI 会冻结
- python - 具有重复值的 Sqlite 列
- c++ - 使用ASIO为ffmpeg实现interrupt_callback
- oracle - Oracle 顶点未打开
- python - 将字典与列表中的“重复”键结合起来
- javascript - 删除目录 - removeRecursively 过时