小编use*_*234的帖子

Ordinal/int/ascii字符值

在clojure repl我可以这样做:

=> (int \a)
97
Run Code Online (Sandbox Code Playgroud)

在closurescript中,我不断得到

=> (int \a)
0
Run Code Online (Sandbox Code Playgroud)

在我目前的clojurescript项目中,我定义了一个var:

(def ord-a (int \a))
Run Code Online (Sandbox Code Playgroud)

当我检查发出的javascript时,我看到:

ord_a = ("a" | (0));
Run Code Online (Sandbox Code Playgroud)

这解释了差异,但并没有真正做到我想要的.所以:

  1. 我在这做错了什么?
  2. 如何获取clojurescript中字符的序数/ int/ascii值?

clojure clojurescript

3
推荐指数
1
解决办法
313
查看次数

根据谓词clojure从地图中删除键

假设我有一个m类似的地图{"good1" 1, "bad1" 1, "good2" 2, "bad2" 2},并且我想根据地图键上的某些谓词删除条目,一种方法是:

(defn dissoc-by [f m] (->> m (filter (complement f)) (into {})))
(dissoc-by #(.contains (first %1) "bad") m)
 => {"good1" 1, "good2" 2}
Run Code Online (Sandbox Code Playgroud)

在clojure中有更多惯用的方法吗?

clojure

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

是什么导致"java.lang.IllegalArgumentException:没有为key提供的值"?

我有形状的代码

(let [{foo :foo} (make-foo)] ...)
Run Code Online (Sandbox Code Playgroud)

这段代码偶尔发出一个java.lang.IllegalArgumentException: No value supplied for key: {:foo "foo" :other "other"}.

我见过Clojure:"java.lang.IllegalArgumentException:没有为key提供值:"当我更改require时,但是我没有更改我的程序的需求,因为它上次工作.

"没有为密钥提供的值"例外的可能原因是什么?

clojure destructuring

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

合并两个阵列的最佳方法

temp1 = [1,2,3,4]
temp2 = [4,3,2,1]
Run Code Online (Sandbox Code Playgroud)

两个数组与以下输出合并

temp3 = [ [1,4], [2,3], [3,2], [4,1] ]
Run Code Online (Sandbox Code Playgroud)

并不是临时数组只有4个元素.它可以在两个阵列中具有5-5,6-6个元素而不是5-6个元素.

ruby arrays ruby-on-rails

0
推荐指数
1
解决办法
70
查看次数