相比Scheme 与 Common Lisp,Clojure 有哪些坑
3个回答
展开全部
对手已经来不及转身了,他看不见恺撒,也就无法挥刀防御来自正后方的攻击,而且把刀置于背后他必然处于反手的不利状态下,关节角度会令他无法发力。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
亚果会
2024-04-11 广告
2024-04-11 广告
Goma Greens是一家专注于提供高品质有机蔬果的企业。我们致力于为消费者带来新鲜、健康、无污染的食材,以满足现代人对健康生活的追求。我们的产品均来自精心挑选的有机农场,通过严格的品质控制,确保每一份食材都达到最高标准。此外,我们还提供...
点击进入详情页
本回答由亚果会提供
展开全部
举一些对新手不是很适应的地方,未必是坑:
各种铺面而来的语法糖让人略不知所措(如果像我一样之前只跟着SICP写写scheme),可以在标识符前后加好多符号啊,有尖号^ 井号尖号#^ 波浪线~ 波浪线艾特~@ 后缀井号# ......好甜好甜
Clojure由于jvm-based的原因,正常写出来的尾递归是不会被优化的,只能用recur
对于从只弄Java转过来的,那种(.method Object & args)语法会很蛋疼,因为觉得世界都颠倒过来了,不过当用惯了->和->>后,会觉得世界稍稍正常一点,调用链还在嘛
没有传统的car cdr
nil就是空,nil或false在if中都是假值,其他都是真
小心binding,有些是sequentially求值的,有些不是;在使用laze-seq的时候,要注意bindings的作用域,不要引入外层的binding
2013.12.16 Update, 一个小地方:contains? 是个名不副实的家伙,不要被欺骗了,比如 (contains? '(100 101 102) 101) 的结果是 false。这个函数原型说明是(contains? coll key),即检查(coll key)返回是nil/false,还是其他值。想找include意义的函数,请用some.
各种铺面而来的语法糖让人略不知所措(如果像我一样之前只跟着SICP写写scheme),可以在标识符前后加好多符号啊,有尖号^ 井号尖号#^ 波浪线~ 波浪线艾特~@ 后缀井号# ......好甜好甜
Clojure由于jvm-based的原因,正常写出来的尾递归是不会被优化的,只能用recur
对于从只弄Java转过来的,那种(.method Object & args)语法会很蛋疼,因为觉得世界都颠倒过来了,不过当用惯了->和->>后,会觉得世界稍稍正常一点,调用链还在嘛
没有传统的car cdr
nil就是空,nil或false在if中都是假值,其他都是真
小心binding,有些是sequentially求值的,有些不是;在使用laze-seq的时候,要注意bindings的作用域,不要引入外层的binding
2013.12.16 Update, 一个小地方:contains? 是个名不副实的家伙,不要被欺骗了,比如 (contains? '(100 101 102) 101) 的结果是 false。这个函数原型说明是(contains? coll key),即检查(coll key)返回是nil/false,还是其他值。想找include意义的函数,请用some.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
clojure很完美
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询