如何不完整的ClojureScript? (范围)(迭代)等
我正在尝试最近使用ClojureScript而不是Clojure。
当我编译和运行node.js
(.log js/console (range 10))
我有
$ node app { meta: null, start: 0, end: 10, step: 1, __hash: null, 'cljs$lang$protocol_mask$partition1$': 0, 'cljs$lang$protocol_mask$partition0$': 32375006 }
我有点惊讶地看到这个简单的代码不起作用。
这是由于我的具体环境? 我希望如此,如果这是我的问题,请告知。
这里是编译的js:
cljs.nodejs = {}; cljs.nodejs.require = require; cljs.nodejs.process = process; cljs.core.string_print = cljs.nodejs.require.call(null, "util").print; var rxcljs = {core:{}}; console.log(cljs.core.range.call(null, 10));
您可以console.log
(range 10)
的string表示forms:
(.log js/console (pr-str (range 10)))
或者直接使用println
函数:
(println (range 10))
无论哪种情况, (0 1 2 3 4 5 6 7 8 9)
都按预期打印。
看起来你想要打印vector; range
返回一个懒惰的seq。
尝试这个:
(.log js/console (vec (range 10)))