Clojure List - >向量

时间:2015-10-25 14:56:34

标签: vector clojure

我需要创建一个函数。在此我需要以下几点:

#!/bin/bash
expireDate='2025-10-25 16:17:51'
expireLoadGen=$(date -d "$expireDate" +%s)

if [ `date +%s` -gt $expireLoadGen ]; then
        echo "Date has Expired"
else
        echo "Date has not Expired"
fi

以上是清单。我需要忽略每个列表的第1列(这是a,c和d。)然后将第2列放在向量中。然后为第3列做同样的事情,但是单独的向量。一旦完成,我将在两者之间执行一些小算术,并将每个结果写入第三个向量。

我的Clojure经验非常少,来自Java背景。我已尝试使用List 1: '(a 5 6) List 2: '(c 8 10) List 3: '(d 4 9)

通过这样做,我只能创建一个var,它只将第二个和第三个项目存储在一个列表中。 (例如,列表1的5& 6.但是我需要向量为let

1 个答案:

答案 0 :(得分:4)

(defn answer [& [list-1 list-2 list-3 :as lists]]
   (->> lists                    ; ((a 5 6) (c 8 10) (d 4 9))
        (map rest)               ; ((5 6) (8 10) (4 9))
        (apply map vector)       ; ([5 8 4] [6 10 9])
        (apply small-arithmetic) ; (small-arithmetic [5 8 4] [6 10 9])
  ))

假设small-arithmetic是一个获取所需两个向量并返回第三个向量的函数。