2014-11-08 33 views
1

我是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我知道如何從普通列表中刪除元素。 我的問題是我不知道如何訪問記錄中的列表並刪除。

+0

創建一個新記錄 – beroal 2014-11-08 13:51:40

回答

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 

因此,簡而言之:提取字段中,按照您知道如何執行的方式從列表中刪除元素,然後重新構建記錄。

+0

,所以我可能喜歡用(#go schedule)提取它並將它傳遞給另一個名爲delete的函數,對吧?非常感謝。 – Stella 2014-11-08 16:38:15