我正在尝试在Clojure中生成嵌套 map 。
问题是。

  • 首先,我有一个序列(“第一”“第二”“第三” ...)。
  • 其次,我有一个函数,通过调用每个元素具有序列的函数,我想接收这样的映射{:first(function
    第一)},{:第二(第二功能)}和.....
  • 最后,我想将所有结果收集到一个新 map {:first {...}:second {...}:third {...}}。

  • 也许有人给我一些指导或方法。



    所以我创建了我的功能的草案(它不起作用)。
    (defn finder [sequence function]
     (for [x [sequence]
          :let [ pair {:x (function x)}
                 mappa {} (assoc-in mappa pair)]]
        mappa))
    

    最佳答案

    您可以使用map构造键值对,并使用into构造结果哈希图:

    (defn finder [sequence function]
      (into {} (map (fn [k] [(keyword k) (function k)]) sequence)))
    

    10-05 20:36
    查看更多