当前位置:  开发笔记 > 编程语言 > 正文

Clojure:map函数没有返回我可以评估的东西

如何解决《Clojure:map函数没有返回我可以评估的东西》经验,为你挑选了1个好方法。



1> rabidpraxis..:

还要注意你的使用方法map.你要归还你的结果swap!,我不相信你的目标.

继续努力让您的版本正确编译和运行.我想为你的问题提供一个替代解决方案,它可以减少变异,而是专注于组合集合.

(def rand-santas
  "Randomize the current santa list"
  (shuffle santas))

(def paired-santas
  "Use partition with overlap to pair up all random santas"
  (partition 2 1 rand-santas))

(def final-pairs
  "Add the first in the list as santa to the last to ensure everyone is paired"
  (conj paired-santas (list (last rand-santas) (first rand-santas))))

(defn inject-santas 
  "Loop through all pairs and assoc the second pair into first as the secret santa"
  [pairs]
  (map 
    (fn [[recipent santa]]
      (assoc recipent :santa santa))
    pairs))

(defn -main [] 
  (pprint/pprint (inject-santas final-pairs)))

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有