Печатается :bar
в Clojure как я бы ожидать:Как вы используете карты, созданные читателем edn в clojurescript?
(println (:foo (clojure.tools.reader.edn/read-string "{:foo :bar}")))
;=> :bar
Но это печатает nil
в ClojureScript:
(println (:foo (cljs.reader/read-string "{:foo :bar}")))
;=> nil
Чтобы сделать вещи незнакомца, это печатает :bar
в ClojureScript в Я бы ожидал:
(let [data (cljs.reader/read-string "{:foo :bar}")]
(println ((first (keys data)) data)))
;=> :bar
Как получить доступ к значению на карте, созданной читателем? Является ли это кодировкой символов?
Редактировать
Вот пространство имен, как это предусмотрено в комментариях:
(ns clojuresite.homepage
(:require-macros [hiccups.core :as hiccups])
(:require [hiccups.runtime :as hiccupsrt]
[cljs.nodejs :as node]
[cljs.reader :as reader]))
При запуске второго примера в новой замене clojurescript я получаю правильный ответ. Какую версию clojurescript вы используете? – Jared314
Второй пример работает и для меня, не могли бы вы включить форму ns для контекста? –
Ну, это действительно удивительно для меня. Моя версия cljs - 0.0-1896. Как вы получили его для работы в реплике? Каждый раз, когда я пытался '(require '[cljs.reader: как читатель])' У меня ошибка компиляции. – bmaddy