Как отличить Clojure-JVM от Clojure-CLR

Как я могу определить в файле сценария clojure-lang, выполняется ли сценарий в версии JVM или версии CLR?

Заранее спасибо.


person javacommons    schedule 25.02.2019    source источник


Ответы (1)


Инструмент, который можно здесь использовать, — это условия чтения: https://clojure.org/guides/reader_conditionals.

... Условные выражения чтения интегрированы в средство чтения Clojure и не требуют никаких дополнительных инструментов, кроме Clojure 1.7 или более поздней версии. Чтобы использовать условия чтения, все, что вам нужно, это чтобы ваш файл имел расширение .cljc и использовал Clojure 1.7 или ClojureScript 0.0-3196 или выше...

... Стандартный условный оператор чтения ведет себя аналогично традиционному cond. Синтаксис использования #? выглядит так:

#?(:clj  (Clojure expression)
   :cljs (ClojureScript expression)
   :cljr (Clojure CLR expression)
   :default (fallthrough expression))
person cfrick    schedule 25.02.2019
comment
Это именно то, что я хотел узнать! Спасибо большое. - person javacommons; 25.02.2019