我从使用此
的字符串列表中删除字符串时遇到问题(remove "lol" '("lol" "lol2" "lol")
但它返回相同的列表。这里的问题是什么?
答案 0 :(得分:2)
你遇到了试图确定平等的问题。我相信remove
使用eql
作为其默认的相等测试程序。不幸的是,除非它们实际上是同一个对象,否则两个字符串不是eql
。
尝试:
`(remove "lol" '("lol" "lol2" "lol") :test #'equal)
或者,如果您知道自己将测试字符串,则可以将string=
作为测试函数传递。
答案 1 :(得分:0)
你应该关闭')' 所以写道:(删除" lol"'(" lol"" lol2"" lol"))