次のコードは期待通りに動作しません。私は、fooとbarが空であるかどうかを特定し、それに応じてエラーを返すことができるようにしたい。しかし、応答はfooとbarの両方が存在する場合にのみ発生します。Clojure if(X and Y)?
私はClojureを初めて使用しています。
(defn create-entry [doc]
(let [id (str (java.util.UUID/randomUUID)) timestamp (quot (System/currentTimeMillis) 1000)]
(let [entry (assoc doc "id" id "timestamp" timestamp)]
(if (and (empty? [(get entry "foo") (empty? (get entry "bar")) ])
(response {:err "either foo or bar is required"})
) (prn "hello!")))))