这段代码在Clojure中输出:bar
,与我的预期一致:
(println (:foo (clojure.tools.reader.edn/read-string "{:foo :bar}")))
;=> :bar
但是在 ClojureScript 中,它会打印出
nil
。(println (:foo (cljs.reader/read-string "{:foo :bar}")))
;=> nil
使情况更奇怪的是,这在 ClojureScript 中输出了
:bar
,就像我的预期一样:(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]))
(require '[cljs.reader :as reader])
,都会出现编译错误。 - bmaddy