「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))
は実際に満たされています。