我的问题是我有一个列表,想删除其中的一些字符串。但当我第一次删除时就OK了。但第二次,它会删除字符串,但会带回第一个字符串。
你知道我怎样才能避免这种情况吗?
谢谢
Prelude Data.List Data.Char> x = ["ab","cd","ef","gh"]
Prelude Data.List Data.Char> delete "ab" x
["cd","ef","gh"]
Prelude Data.List Data.Char> delete "cd" x
["ab","ef","gh"]
!!这里"ab"
回来了,我不想要这个!谢谢
See ''如何“思考功能性”'' here https://stackoverflow.com/a/11923567/849891。简而言之,x
是一样的x
; delete "abc" x
回报new值,确实如此not改变现有的x
.
如果你想参考这个newvalue,给它一个新名称,如下所示:
> x = ["ab","cd","ef","gh"]
> x2 = delete "ab" x
> delete "cd" x2
["ef","gh"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)