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