如何删除记录字段中的元素?

时间:2014-11-08 04:19:14

标签: list types record sml ml

我是SML的新手,我正在学习google和stackoverflow上的材料。

为了好玩,我只是尝试做随机的东西,如:

type schedule= { transportation:string, go: string list}

val sunday:schedule ={ transportation="Bicycle", go=["gym","walmart","dentist"]}

我想在访问后删除记录中的地点。

fun del("walmart", sunday);=> { transportation="Bicycle", go=["gym","dentist"]}

从此link我知道如何从正常列表中删除元素。 我的问题是我不知道如何访问记录中的列表并删除。

1 个答案:

答案 0 :(得分:0)

您可以使用模式匹配从记录中提取值。您可以执行需要执行的更改,并构建包含更新值的新记录。

例如,如果我有一个人记录:

val john = { name = "John", age = 23, country = "Denmark" }

如果我想增加他们的年龄,我可以这样做:

fun updateAge {name, age, country} = { name = name, age = age + 1, country = country }
val john' = updateAge john

因此,简而言之:提取字段,以您知道如何操作的方式从列表中删除元素,然后重新构建记录。

相关问题