私はcaseマクロの実装が必要です。内部的にJavaのcase文を使用しているため、元のclojureの実装は使用できません。誰かがクローージャースクリプトのケース実装をしていますか?
http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/case
場合、マクロ
使用法:(ケースE &節)
私は自分でマクロを構築しようとすることができますが、それはすべてのClojureのだろう。実際のjs機能を使用する方法さえあるかもしれません。
誰にもそのための関数またはマクロがありますか?
bsteuberには、次の提案: '(defmacroの場合[&引数] \'(condp =〜引数@)) 'または単にcondpを使用しています。これは確かに大丈夫ですが、おそらく誰かがより多くのjsネイティブバージョンを構築するのに役立つと思っています。 –
これは微妙な方法で相互互換性が壊れているので、私はこれをお勧めしません。たとえば '(case 'x x 1 y 2)'を考えてみましょう。手作業で 'condp'を使うか、Clojureバージョンと意味的に同等な' case'を作ります。 – amalloy