take 从列表中获取子列表

into a b  把b conj 到a中

(defn count-a-seq [lat]
  (reduce (fn [x y] (+ x 1)) 0 lat))

reduce 将list通过fn一个个合并成一个,当然也可以只是对每个进行+1

(defn [x & xs]

reduce #(if (> %1 %2) %1 %2) x xs

)

#(mapcat vector %1 %2)

对%1 %2每个对应元素进行vector,然后concat在一起

drop-last 干掉最后一个

flatten 将所有集合合并在一起

take-last 取最后几个

comp 返回一个将所有参数函数从右到左依次应用的函数

( (apply comp (repeat ntime (if (> n 0) lshift rshift))) coll))

{} #{} hash-map and hash-set

(contains? [1 1 1 1 1] 4) => true 因为contains只看index

some 取第一个满足条件的

(take 10 (map last (iterate (fn [[x y]] [y (+ x y)]) [0 1]))) 迭代器的每个元素是一个二元组,最终取出其中一个组成fib

flattern

(defn flat [coll]
(mapcat
#(if (sequential? %) (flat %) [%]) coll))

https://github.com/qiuxiafei/4clojure/blob/master/answers/28.Flatten%20a%20Sequence

(filter (complement sequential?) (tree-seq sequential? identity '((1 2) 3 [4 [5 6]])))

别人的版本,通过映射成树,然后收集叶子节点来进行flattern,想法不错哦

group-by identity coll 通过identity变成hash-map一个key一个vector的形式、

map hash-map的时候使用 (fn [[k v]] [k (count v)])

into {}  ([:b 3] [:a 2]) => {:b 3, :a 2}

(conj nil num) 这样可以建立一个'(num)

--------------

突然想到从cfunc - object -lisp的一个变迁的过程,可能是越来越抽象

比如map这个函数,把平时的普通循环做的事情抽象到每个做映射,这个是普通java里没有的抽象,而这种抽象在lisp里处处可见

前缀的=,可以任意参数的

转载于:https://www.cnblogs.com/TLightSky/p/4127418.html

clojure学习记录相关推荐

  1. Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)

    Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...

  2. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  3. springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis

    本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...

  4. 【Cmake】Cmake学习记录

    Cmake学习记录 1.1 常例 add_library(gen_reference_infogen_reference_info/gen_reference_info.hgen_reference_ ...

  5. ASP.NETCore学习记录(一)

    ASP.NETCore学习记录(一) asp.net core介绍  Startup.cs  ConfigureServices  Configure  0. ASP.NETCore 介绍 ASP.N ...

  6. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  7. add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX

    Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...

  8. java之字符串学习记录

    java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...

  9. Redis的学习记录

    Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...

最新文章

  1. linux宝塔如何开启gzip,宝塔nginx如何开启网站gzip
  2. 四十二、文件的物理结构(下)
  3. Linux下VMware虚拟机报Could not open /dev/vmmon: No such file or directory. Please make sure that the kern
  4. SGU 117 Counting
  5. z370支持pcie信号拆分吗_定了!AMD B550主板确认将支持PCIE4.0,多项能力接近X570
  6. java类与接口练习
  7. 08-05 性能测试--定时器场景
  8. 数据结构--------二叉排序树
  9. 解决支持库版本兼容问题
  10. 我和8个程序员聊了一下午,攒齐这些了观点...
  11. idea toggle offline mode
  12. 方舟服务器显示网络错误,方舟生存进化提示网络错误怎么办
  13. 给IT新人的15个建议:苦逼程序员的辛酸反省与总结 - 博客 - 伯乐在线
  14. 按头安利 好看又实用的毛笔书法字体素材看这里
  15. 飞利浦、TCL、海信、REASONANCE、七彩虹、Amazfit在CES展示最新新品 | 美通企业日报...
  16. The application of backtracking
  17. 太太丘舍去_太丘舍去,去后乃至(离开)——青夏教育精英家教网——
  18. 中国腹肌刺激器行业发展动态与投资前景预测报告(2022-2027)
  19. JSP | 简易购物车的实现
  20. .NET使用MailKit进行邮件处理

热门文章

  1. 5G NR PUCCH资源配置
  2. spring整合struts2时作用域scope解析
  3. async-await用法
  4. 01.CSS动画--transform
  5. 抛弃鼠标的神器——Vimium
  6. IOS零碎技术整理(3)-获取wifi列表
  7. at sixes and sevens用法
  8. 信息发布webpart——网页编辑器应用攻略
  9. git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
  10. 使用LinkedBlockingQueue来实现生产者消费者的例子