2014-11-08 2 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

ответ

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

Смежные вопросы