clojure 中向量的相等性
Equality of vectors in clojure
我正在尝试解决这个问题
我意识到这个语句的输出是错误的。
(= (#(into [] (distinct %)) [1 2 3])
'(1 1 2 2 3 3))
它应该是真的,因为函数也返回相同的向量。
有人可以向我解释为什么这是错误的吗?
从评论中,我发现我错误地使用了 distinct 方法,因此决定使用 repeat 方法得到答案:
mapcat #(repeat 2 %)
你问的问题与你所指的问题无关,解决了。单独看题...
- 正如 rascio 评论的那样,您将
distinct
应用于错误
顺序。
- 此外,您可以将
=
应用于任意两个序列。你没有
将 distinct
产生的惰性序列转换为向量。
因此以下内容就足够了...
(= [1 2 3] (distinct '(1 1 2 2 3 3)))
=> true
我正在尝试解决这个问题
我意识到这个语句的输出是错误的。
(= (#(into [] (distinct %)) [1 2 3])
'(1 1 2 2 3 3))
它应该是真的,因为函数也返回相同的向量。
有人可以向我解释为什么这是错误的吗?
从评论中,我发现我错误地使用了 distinct 方法,因此决定使用 repeat 方法得到答案:
mapcat #(repeat 2 %)
你问的问题与你所指的问题无关,
- 正如 rascio 评论的那样,您将
distinct
应用于错误 顺序。 - 此外,您可以将
=
应用于任意两个序列。你没有 将distinct
产生的惰性序列转换为向量。
因此以下内容就足够了...
(= [1 2 3] (distinct '(1 1 2 2 3 3)))
=> true