add helper pred navs for common comparisons
This commit is contained in:
parent
af17c4617e
commit
5dea8919be
4 changed files with 21 additions and 1 deletions
|
|
@ -1,3 +1,7 @@
|
|||
## 1.0.2-SNAPSHOT
|
||||
|
||||
* Added `pred=`, `pred<`, `pred>`, `pred<=`, `pred>=` for filtering using common comparisons
|
||||
|
||||
## 1.0.1
|
||||
|
||||
* `subselect`/`filterer` can remove entries in source by transforming to a smaller sequence
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ user> (transform [(srange 4 11) (filterer even?)]
|
|||
Append [:c :d] to every subsequence that has at least two even numbers:
|
||||
```clojure
|
||||
user> (setval [ALL
|
||||
(selected? (filterer even?) (view count) #(>= % 2))
|
||||
(selected? (filterer even?) (view count) (pred>= 2))
|
||||
END]
|
||||
[:c :d]
|
||||
[[1 2 3 4 5 6] [7 0 -1] [8 8] []])
|
||||
|
|
|
|||
|
|
@ -996,6 +996,13 @@
|
|||
pred
|
||||
i/pred*)
|
||||
|
||||
|
||||
(defn ^:direct-nav pred= [v] (pred #(= % v)))
|
||||
(defn ^:direct-nav pred< [v] (pred #(< % v)))
|
||||
(defn ^:direct-nav pred> [v] (pred #(> % v)))
|
||||
(defn ^:direct-nav pred<= [v] (pred #(<= % v)))
|
||||
(defn ^:direct-nav pred>= [v] (pred #(>= % v)))
|
||||
|
||||
(extend-type nil
|
||||
ImplicitNav
|
||||
(implicit-nav [this] STAY))
|
||||
|
|
|
|||
|
|
@ -1518,6 +1518,15 @@
|
|||
(is (= [1 :a 3 5] (setval (s/filterer even?) [:a] [1 2 3 4 5])))
|
||||
)
|
||||
|
||||
(deftest helper-preds-test
|
||||
(let [data [1 2 2 3 4 0]]
|
||||
(is (= [2 2] (select [s/ALL (s/pred= 2)] data)))
|
||||
(is (= [1 2 2 0] (select [s/ALL (s/pred< 3)] data)))
|
||||
(is (= [1 2 2 3 0] (select [s/ALL (s/pred<= 3)] data)))
|
||||
(is (= [4] (select [s/ALL (s/pred> 3)] data)))
|
||||
(is (= [3 4] (select [s/ALL (s/pred>= 3)] data)))
|
||||
))
|
||||
|
||||
#?(:clj
|
||||
(do
|
||||
(defprotocolpath FooPP)
|
||||
|
|
|
|||
Loading…
Reference in a new issue