Clojure zipmap 需要填写的空白
Clojure zipmap a blank needs to be filled
(testing "zipmap"
(is (= {:a 1 :b 2} (zipmap [:a :b] '(1 2))))
(is (= {3 1, 2 2, 1 3} (zipmap [1 2 3] [3 2 1])))
(is (= {} (zipmap [] [:a :b])))
(is (= {2 :b, 1 :a} (zipmap [1 2 3] [:a :b])))
我解决了前 4 个问题。但我无法弄清楚最后一个。我们需要填写 zipmap 部分。(我在那里放了 2 个问号)。问题是我们需要放在那里才能得到这个输出:
{:list '() :map {} :vector [] :set #{}}
(is (= {:list '() :map {} :vector [] :set #{}} (zipmap ? ? )))))
这实际上是我作业的一部分,但我真的很想知道答案。
谢谢,
zipmap 采用两个序列,一个包含所有键,另一个包含所有值。它生成一个映射,其中每个键与另一个列表中相同位置的值相匹配
user> (zipmap [:list :map :vector :set] [`() {} [] #{}])
{:set #{}, :vector [], :map {}, :list ()}
在这种情况下,系统会要求您提供一系列关键字和一系列不同类型集合的空示例,以生成关键字与集合示例的映射。
(testing "zipmap"
(is (= {:a 1 :b 2} (zipmap [:a :b] '(1 2))))
(is (= {3 1, 2 2, 1 3} (zipmap [1 2 3] [3 2 1])))
(is (= {} (zipmap [] [:a :b])))
(is (= {2 :b, 1 :a} (zipmap [1 2 3] [:a :b])))
我解决了前 4 个问题。但我无法弄清楚最后一个。我们需要填写 zipmap 部分。(我在那里放了 2 个问号)。问题是我们需要放在那里才能得到这个输出:
{:list '() :map {} :vector [] :set #{}}
(is (= {:list '() :map {} :vector [] :set #{}} (zipmap ? ? )))))
这实际上是我作业的一部分,但我真的很想知道答案。
谢谢,
zipmap 采用两个序列,一个包含所有键,另一个包含所有值。它生成一个映射,其中每个键与另一个列表中相同位置的值相匹配
user> (zipmap [:list :map :vector :set] [`() {} [] #{}])
{:set #{}, :vector [], :map {}, :list ()}
在这种情况下,系统会要求您提供一系列关键字和一系列不同类型集合的空示例,以生成关键字与集合示例的映射。