【发布时间】:2020-07-22 20:57:19
【问题描述】:
如果我有这个 SML 数据类型
datatype json =
Num of real
| String of string
| False
| True
| Null
| Array of json list
| Object of (string * json) list
假设我有这个Array,只有一个Object,这使它成为json 列表
Array[Object[("a", Num (1.0)),("b", True)]]
我怎样才能将新的Object 添加到现有的Array 上?我尝试了一个简单的:: 无济于事
Object[("a", Num (1.0)),("b", True)]::Array[Object[("a", Num (2.0)),("b", True)]]
给出一个错误。我必须为此建立自己的缺点吗?似乎 SML 列表是 'a list 应该允许 json list 并使用 ::
是的,这是我在华盛顿大学上一学期的编程语言的家庭作业,我正在自己做。 This 是分配。
我的基本问题是我不知道如何通过递归调用添加到Array。如果我需要生成一个包含Objects 的Array,并在每次递归调用时将一个新的Object 添加到起始Array,那将如何完成?我见过Succ 或Cons 的示例,例如,后继构造函数,但它们只是创建一个递归的嵌套对象,例如
val four = Succ (Succ (Succ (Succ Zero)))
...但这没有帮助...
【问题讨论】:
标签: list sml abstract-data-type