是否有一個clojure和clojurescript的宏,它允許您插入不同的表達式,具體取決於文件是否正在編譯爲clojure或clojurescript?是否有一個if-clojurescript宏?
(if-clojurescript
(my clojurescript definition)
(my clojure definition))
基本上我尋找的東西就像你可能會看到周圍的C++代碼灑的#ifdef SOME_PLATFORM宏。我認爲這對於我希望成爲交叉部分的文件可能是有用的,但是該文件的一小部分在clojure/clojure-script之間不兼容。
這看起來很有希望。但是有沒有一種通用的方法來使用/需要一個宏? Clojurescript似乎需要:use-macros,但這會在clojure中引發錯誤。沒有一種語言中立的方式來要求一個宏,我不明白這是如何工作的。 – 2013-03-02 19:33:45
你可以把這個宏放到它自己的命名空間中,然後需要從'require'的clojure文件中創建naemspace,並且需要CloijureScript文件中的'require-macro'命名空間,那麼Clojure和ClojureScript文件都可以更接近(儘管仍然不行)語言中立。 – 2013-03-04 18:41:42