标签: clojure-core

可以更好地避免零连接吗?

我有一个令牌扫描器,它只是返回nil我不感兴趣的字符。conj我不想将它们添加到我的令牌向量中,然后将它们全部删除,而是简单地不添加它们。

我在用着

;; dont conjoin if value false
(defn condj [v val]
  (cond-> v, val (conj val)))
Run Code Online (Sandbox Code Playgroud)

去做这个。是否有特定的运算符或更简洁的实现?

clojure clojure-core

4
推荐指数
1
解决办法
1477
查看次数

Clojure 核心函数参数位置似乎相当混乱。它背后的逻辑是什么?

对我来说,一个新的 Clojurian,当涉及到参数顺序/位置时,一些核心函数似乎相当违反直觉和令人困惑,这是一个例子:

> (nthrest (range 10) 5) 
=> (5 6 7 8 9)

> (take-last 5 (range 10)) 
=> (5 6 7 8 9)
Run Code Online (Sandbox Code Playgroud)

也许它背后有一些我还没有看到的规则/逻辑?

我拒绝相信 Clojure 核心团队做出了如此多出色的技术决策,却忘记了函数命名/参数排序的一致性。

还是我应该记住它的原样?

谢谢


有点题外话:

rand& rand-intVS random-sample- 另一个例子,函数命名似乎不一致,但这是一个很少使用的函数,所以没什么大不了的。

lisp clojure clojurescript clojure-core

1
推荐指数
2
解决办法
116
查看次数

标签 统计

clojure ×2

clojure-core ×2

clojurescript ×1

lisp ×1