我试图解决这个问题
- https://www.4clojure.com/problem/32
并且我意识到这个语句给出的输出为false。
(= (#(into [] (distinct %)) [1 2 3])
'(1 1 2 2 3 3))
这应该是真的,因为函数也返回相同的向量。
有人能向我解释一下为什么这是假的吗?
你问的问题与你提到的问题无关,你自己的答案可以解决这个问题。单看这个问题。。。
- 正如rascio所评论的,您将
distinct
应用于错误的序列 - 此外,您可以将
=
应用于任意两个序列。你没有以将CCD_ 3产生的惰性序列转换为向量
因此,以下内容就足够了。。。
(= [1 2 3] (distinct '(1 1 2 2 3 3)))
=> true
从评论中,我发现我错误地使用了distinct方法,因此决定使用repeat方法来获得答案,即:
mapcat #(repeat 2 %)