This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-12
Channels
- # bangalore-clj (4)
- # beginners (77)
- # boot (71)
- # cider (10)
- # clara (1)
- # cljs-dev (52)
- # cljsjs (28)
- # cljsrn (1)
- # clojure (390)
- # clojure-dev (5)
- # clojure-india (1)
- # clojure-italy (5)
- # clojure-nl (24)
- # clojure-poland (4)
- # clojure-russia (123)
- # clojure-spec (71)
- # clojure-taiwan (2)
- # clojure-uk (8)
- # clojurescript (236)
- # core-matrix (6)
- # cursive (19)
- # datomic (16)
- # defnpodcast (2)
- # editors (1)
- # emacs (36)
- # garden (2)
- # hoplon (5)
- # jobs (1)
- # jobs-discuss (10)
- # juxt (47)
- # luminus (4)
- # lumo (6)
- # off-topic (207)
- # om (1)
- # onyx (20)
- # pedestal (40)
- # perun (2)
- # re-frame (8)
- # reagent (48)
- # ring (2)
- # ring-swagger (2)
- # specter (13)
- # unrepl (89)
- # vim (6)
Hi. How to make an "or" in "match" part of rule. Example:
;; There is 2 types: groups and items
;; Example:
;; :group [1 false 2]
;; :group [1 false 3]
;; :item [2 true]
;; :item [3 false]
;; :group [4 true 5]
;; :item [5 false]
;; Group '1' contains items '2' and '3'
;; Group '4' contains item '5'
;; My `select` query shoud find [[4][1]]
;; because they are groups and they are selected
;; or contains a selected item
(defrule selected-groups
;; Or this
[:group [[id selected _]] (= ?id group) (= selected true)]
;; Or this
[:group [[id _ item-id]] (= ?id id) (= item-id ?item-id)]
[:item [[item-id selected]] (= ?item-id item-id) (= selected true)]
=>
(insert! ^{:type :select} [?id]))
(sorry for big example)
(yes, I know how to do it with 2 rules.)
(I dont care with duplicate entries)