我正在“使用 Clojure 进行 Web 开发”一书中运行一个简短的示例代码:
(defn login [{:keys [id pass pass1] :as user}]
(if (and id (= pass pass1))
(println "valid user")
(println user " is not filled in correctly")))
我试过了 :
(login {:keys ["tom" "123" "123"] :as "tom"})
并得到:
{:as tom, :keys [tom 123 123]} is not filled in correctly
nil
为什么会有这个结果?条件(and id (= pass pass1))
实际上是满足的。