SML: Remove the entry from the List
问题 How can I delete the element elem in list L ? If the list does not contain elem, then the function should return the list unchanged. For instance: L = [1, 3, 4, 0, 5, 7] elem = 5 So far I have the following function: fun removeElem elem myList[] = myList | removeElem (myList::tl) = if mem myList elem then rm elem myList[] else removeElem elem tl 回答1: You can turn the question around and ask how to keep only those items not equal to elem . This fits cleanly with filter : fun removeElem elem