标签: clojure

你怎么能在clojure中交错两个不同长度的向量

什么是交错的两个向量最简单的方法n+1n成员?

(def a [:a :c :e])
(def b [:b :d])
(interleave a b ); truncates to shortest list
[:a :b :c :d]

;what I would like. 
(interleave-until-nil a b)
[:a :b :c :d :e]
Run Code Online (Sandbox Code Playgroud)

clojure

-1
推荐指数
1
解决办法
1018
查看次数

将矢量从较大的值排序到较小的值

如何将矢量从较大的值排序到较小的值,因为这不起作用

(sort > ([3 1 2 4]))
Run Code Online (Sandbox Code Playgroud)

但是,使用>地图值它是有效的.

(sort > (vals {:foo 5, :bar 2, :baz 10}))
; => (10 5 2)
Run Code Online (Sandbox Code Playgroud)

clojure

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

解析Clojure

  1. 我知道edn/read-string

  2. 在Haskell中,我倾向于使用Parsec https://hackage.haskell.org/package/parsec

  3. 我需要解析像编程语言一样的Algo/Pascal.在Clojure中使用什么建议的库进行解析?

编辑:4.如果有一种方法可以通过core.logic方式执行此操作,其中"优先级"conde将指定选项(以及解决歧义的顺序).

clojure

-1
推荐指数
1
解决办法
680
查看次数

如何在clojure中从vector中连续删除重复值?

我想从clojure中的vector中删除连续重复的值

input?[1 1 1 2 2 1 1 3 3]

output?[1 2 1 3]
Run Code Online (Sandbox Code Playgroud)

怎么实现呢?

clojure

-1
推荐指数
1
解决办法
143
查看次数

Clojure中序列中元素的排名

我对像这样的元素有一个序列 ([:Jon 326] [:Mary 233] [:Matthew 255])

并希望以一种巧妙的方式将此序列转换为类似 {{:name Jon :rank 1} {:name Matthew :rank 2} {:name Mary :rank 3}}

:name应该是字符串类型,而:rank应该是整数

排名是由数字计算得出的,与序列中元素中的其他元素相比,“点”越高,排名越高

clojure sequence seq

-1
推荐指数
1
解决办法
60
查看次数

迷失在括号中(Clojure)

请评论如何重组以下函数,使其更具可读性和更少的括号。

(defn forwardDifference2nd [fn x h]
  (->
   (/ (+ (-
          (fn (+ (+ x h) h))
          (* (fn (+ x h)) 2.0))
         (fn x))
      (Math/pow h 2))))
Run Code Online (Sandbox Code Playgroud)

源代码

(def x 1.0)
(def h 0.1)

(defn forwardDifference2nd [fn x h]
  (->
   (/ (+ (-
          (fn (+ (+ x h) h))
          (* (fn (+ x h)) 2.0))
         (fn x))
      (Math/pow h 2))))

(defn myPolynomial [x]
  (->
   (+ (* 2
         (Math/pow x 3))
      (* 4
         (Math/pow x 2)))
   (- (* 5 x))))

(forwardDifference2nd …
Run Code Online (Sandbox Code Playgroud)

clojure

-1
推荐指数
1
解决办法
117
查看次数

Clojure 中的 ->、->> 、 ^ :private、s/def s/defn 和 : - 是什么

真诚地,我读了很多次关于这个命令的内容,但我不明白真正的目标是什么。我正在阅读基座文档,我看到了很多这个命令->,并且我在 nubank 的 github公共->>存储库中读到了诸如^:privates/defs/defn:-

clojure

-1
推荐指数
1
解决办法
256
查看次数

Clojure:如何在函数调用之间保留可变参数

我有两个可变参数函数。其中一个将其参数传递给另一个。问题是可变参数在第二次调用时变成了一个列表。我如何保持它们的可变参数?

=> (defn foo [x & ys] (println x ys))
=> (defn bar [x & ys] (foo (clojure.string/upper-case x) ys))
=> (foo "hi")  
hi nil
=> (bar "hi")
HI (nil)
Run Code Online (Sandbox Code Playgroud)

在实际函数中,foo 将其 args 传递给可变参数 java 函数,因此 varargs 确实需要保留 varargs。我该怎么做呢?

clojure variadic-functions

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

如果在clojure中的else语句

我有一个if else条件,我想在clojure中实现...但坚持不知道怎么做多个if

我的代码就像

{
if(x=a)
{
you return sol1
} else
{
sol 3
}
and if(x=b)
{
return sol2
}
else
{
sol 3-same as first cond
}
}
Run Code Online (Sandbox Code Playgroud)

这是查找3中最大整数的一些示例.如何在clojure中执行此操作?

clojure

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

从地图clojure的向量求和字符串值

我有一个地图矢量,如下所示,尽管每个数据集中可能有100个地图:

data({ a:a b:"2" c:t}{ a:b b:"0" c:t}{ a:c b:"-4" c:t}{ a:d b:"100" c:t}{ a:e b:"50" c:t})
Run Code Online (Sandbox Code Playgroud)

我需要产生以下总和:b

values(map :b data)
sum(reduce + (map read-string values)
Run Code Online (Sandbox Code Playgroud)

这给出了期望的结果,但计算时间长,约为每秒1/10.我正在为数十万个数据集执行此操作,因此需要花费大量处理时间来执行此操作.

任何人都可以建议一种更有效/更快的方法吗?

谢谢

clojure map

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

标签 统计

clojure ×10

map ×1

seq ×1

sequence ×1

variadic-functions ×1