1
の内側に私は、このように設定されたマップを持って 、マクロ内でソートすることにより操作を行う必要があります。Clojureのは、ソート・バイマクロ
(def persons '({:id 1 :name "olle"} {:id 2 :name "anna"} {:id 3 :name "isak"} {:id 4 :name "beatrice"}))
私は(sort-by :name persons)
を行うにしようとした場合、それは正常に動作し、それを並べ替える
が、マクロ内:
(defmacro select
[columns _ map _ where _ order]
`(sort-by ~order [email protected]))
それはソートをdoesntの。
REPL(clojure.core /ソート・バイ:名名)
そして、あなたは 'SELECT'を呼んでいた方法を示しています。 – Carcigenicate
私は答えを書こうとしましたが、あなたの質問は今では広すぎます。 「それはソートしない」とはどういう意味ですか?私がここに示したデータでは、これはアリティの例外を引き起こすことになると思います。それは事実ですか? – Carcigenicate
私はそれをオンラインでコンパイルしようとしたが、私はその夜のコード問題だと思う。 ps。 https://repl.it/repls/AliceblueCloudySealion –