List 删除列表中的索引项(SML)
我试图用ML编写一个函数,在给定索引的情况下,从列表中删除一个条目 因此,例如,如果我有一个列表List 删除列表中的索引项(SML),list,sml,List,Sml,我试图用ML编写一个函数,在给定索引的情况下,从列表中删除一个条目 因此,例如,如果我有一个列表L=[1,2,3,4,5],并且想要从列表中删除3,我可以调用delete(2,L),它应该删除索引2处的元素,即3 我有一个从列表中删除的函数,给定列表中的一个特定项,但我想知道如何从列表中获取索引 下面是我从列表中删除特定元素的代码 fun delete(element, list_head::list_tail) = if element = list_head then l
L=[1,2,3,4,5]
,并且想要从列表中删除3
,我可以调用delete(2,L)
,它应该删除索引2处的元素,即3
我有一个从列表中删除的函数,给定列表中的一个特定项,但我想知道如何从列表中获取索引
下面是我从列表中删除特定元素的代码
fun delete(element, list_head::list_tail) =
if element = list_head then list_tail
else list_head::delete(element, list_tail);
您可以使用模式匹配器定义两个基本情况,然后根据这些情况实现删除
fun delete (_, nil) = nil
| delete (0, _::xs) = xs
| delete (i, x::xs) = x::del(i-1,xs);