bma*_*ddy 5 clojure clojurescript edn
这正如我所期望的那样:bar在Clojure中打印:
(println (:foo (clojure.tools.reader.edn/read-string "{:foo :bar}")))
;=> :bar
Run Code Online (Sandbox Code Playgroud)
但这打印nil在ClojureScript中:
(println (:foo (cljs.reader/read-string "{:foo :bar}")))
;=> nil
Run Code Online (Sandbox Code Playgroud)
为了让事情变得陌生,我会按照我的预期:bar在ClojureScript中打印:
(let [data (cljs.reader/read-string "{:foo :bar}")]
(println ((first (keys data)) data )))
;=> :bar
Run Code Online (Sandbox Code Playgroud)
如何访问读者创建的地图中的值?这是一个字符编码的东西吗?
编辑
这是注释中请求的命名空间:
(ns clojuresite.homepage
(:require-macros [hiccups.core :as hiccups])
(:require [hiccups.runtime :as hiccupsrt]
[cljs.nodejs :as node]
[cljs.reader :as reader]))
Run Code Online (Sandbox Code Playgroud)
尝试这个:
\n\n(.log js/console\n ((keyword "foo") (cljs.reader/read-string "{:foo :bar}")))\nRun Code Online (Sandbox Code Playgroud)\n\n如果有效并生成\xef\xb7\x90:bar,则您有旧的生成代码,您应该运行lein cljsbuild clean.
0.0-1877在生成的 javascript 中,关键字发生了变化,从\xef\xb7\x90:foo变为cljs.core.Keyword。
| 归档时间: |
|
| 查看次数: |
2017 次 |
| 最近记录: |