я столкнулся с очень странный вопрос сегодняразница с «взятием» в clojure и clojurescript?
(let [t :cognitive
tab (name t)
tab-name (string/join "" (take 3 (string/split tab #"")))]
(println "@@@" t tab tab-name))
возвращает
@@@ :cognitive cognitive cog
в Clojure, но
@@@ :cognitive cognitive co
в clojurescript (визуализируется с использованием реагента). Заметьте, что в версии cljs
я попытался doall
до и после выражения (take 3 ...
, но безрезультатно
BTW недостающей g
, я использую
[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.170"]
для моего проекта cljs и
[org.clojure/clojure "1.8.0"]
для CLJ проекта
Я предполагаю, что есть какая-то другая причина, по которой вы используете 'string/split' в строке, но просто подумал, что я бы сказал, что строки привязаны к последовательностям. Поэтому вы можете просто использовать '(принять 3 вкладки)' в вашем примере. –
эй, @NathanDavis, я не думал об этом. спасибо за указание на это :) –