`
clojurer
  • 浏览: 10687 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
clojure destructing destructing表示通过数据结果常量来模式匹配参数 vector可以匹配接口sequential实现, map常量可以匹配接口associative的实现 vector通过顺序匹配,可以匹配支持nth的任意类, 可选的& 表示匹配剩余的选项 , :as表示匹配整个参数 (let [[a b & c :as d] [1 2 3 4 5 6]]   [a b c d]) ==>[1 2 (3 4 5 6) [1 2 3 4 5 6] Map通过键来匹配相对应得, 可选的 :as表示匹配整个对象,r 表示匹配的默认值(如果匹配 ...
七个习惯成就自我 或许你看过这篇文章,但我还是选择把它再贴出来让更多的人看,来领悟。 习惯一:别指望谁能推着你走 如果你不向前走,谁又会推你走呢?因此,积极主动的态度,是实现个人愿景的原则。 我们常说:“我不会……,因为遗传……”、“我迟到,因为……”、“我的计划没完成,因为……”我们总是在找借口或是抱怨,在不满中消耗自己的生命。而人类与动物的区别正是人能主动积极地创造、实现梦想,来提升我们的生命品质。所以,有效能的人士为自己的行为及一生所做的选择负责,自主选择应对外界环境的态度和应对方法;他们致力于实现有能力控制的事情,而不是被动地忧虑那些没法控制或难以控制的事情;他们通过努力提升效能, ...
Enlive教程 Enlive是应用基于clojure的转换到html文档的类库,基本过程就是定义一个具有一些规则的模板, 每个规则有一个选择符从要分析的 html文档中选择一些节点 和 应用到选择节点转换为新输出文档的转换指令。 这个教程使用repl会话介绍Enlive的主要特性 先看一个简单的例子,假设有文件 t1.html包含下面内容 <html>   <body>     <h1></h1>   </body> </html> 首先确认类路径中包括clojure.jar clojure-contrib.ja ...
Enlive是基于css选择符的clojure语言的模板库。 一个Enlive模板有2部分,一个html文件和定义在clj文件中的deftemplate形式。 Enlive中的新内容:        片段选择符允许选择临近的节点,通过包含2个节点选择符的map (例如: {[:h1] [:p]}), 包括边界并且选择最小的匹配片段。     转换时普通的旧闭包,这些函数带选择的节点作为参数返回Nil,或 另外的节点 或 任意嵌套的节点集合。     规则是自上向下应用,首先是转换整个树,结果树被转化到下一个规则。     节点转换是深度优先的,也就是如果一个选择符选择几点节点, ...
来北京2个星期,郁闷的事工作不好找,水平太菜,越混越差...... 依此标记一下,努力学习………………………………………………
1: js中的for循环中的闭包只能使用最后的循环变量, 解决办法就是把for循环下的Body抽取为函数调用就可以了
Here are my most memorable lessons so far. Set a duration of how long you think it should take to solve a problem - C'mon, admit it! I'm just as guilty as the next programmer. I've seen programmers sit in front of a monitor for eight hours at a time trying to solve a particular problem. Set a time t ...
GWT POST request doesn't include parameters Keywords: GWT POST request parameters HTTP HTML RequestBuilder AJAX Problem: Following the GWT documentation for making a http-post but it's not clear what the post data should look like if you want it to include form parameters. The newer documentation fo ...
clojure并发学习 1: ref 抽象协调的、同步的可变状态, 利用STM来实现    创建一个ref    (def r (ref {}))       用引ref的值 @f 或 (deref f)    改变ref的值    alter, commute, ref-set ensure 2: agent抽象协调的,异步的单个可表状态    send, send-off 3: atom表示共享的、同步的独立的状态,不需要协调    swap!, compare-and-set 4:var抽象单个线程下的可变,所有线程共享同一个根的状态 创建一个var (def v ...
当同样的操作连续操作n次时,在命令式语言里是通过循环来控制连续操作的次数的, 譬如 List data = new ArrayList(); for(String s : {"aa", "b", ...} ){   data.add(s) } 同类型的操作共享一个模型,都是重复墨重操作,在clojure里能把这些共同的模型抽象为macro, 在编译期进行宏扩展,从来形成一种公共模式,减少代码量。 其实现都是: 一个基本情况,通常是一次调用, 进行简单处理 多次调用, 对自己进行递归调用。 在core中这种宏有4个, 1: .. 连续调用方法,像jQ ...
1:  excel导出时中文名乱码 (String. (.getBytes "文件名" "GBK") "iso8859-1"),需要把中文名编码转化成iso8859-1编码的 ---------转别人的 使用servlet来下载文件,其原理非常简单,只要得到文件的输入流(或相应字节),然后写输出流即可。现就其中的几个细节问题展开: 1. MIME类型的设置: Web 浏览器使用 MIME 类型来识别非 HTML 文档,并决定如何显示该文档内的数据。 例如EXCEL文件的 MIME 类型是 "application/v ...
Global site tag (gtag.js) - Google Analytics