我有一个Clojurescript程序在浏览器中运行。ClojureScript评估。如何使用包含在调用代码中的库
它导入了一些库,然后我想让用户输入一些调用这些库的小型clojurescript“胶水代码”。
我可以看到(来自https://cljs.github.io/api/cljs.js/eval)你用四个参数调用eval,第一个参数是环境状态,它是一个原子。但是,我是否可以将当前的环境与我从其他地方所需的所有功能实际转换为eval的适当参数?
更新:
我想,也许我可以使用设置为EVAL的namesspace:NS第三,选择采用地图,参数的选择。我将它设置为我的应用程序的命名空间:
:ns "fig-pat.core"
但没有区别。
查看控制台,这绝对是它试图做了评价的情况下,但它的抱怨,在EVAL-ED代码中引用名称不认可:
WARNING: Use of undeclared Var /square
的例子。 (方是我需要的功能它是可见的应用程序本身即无花果pat.core命名空间。)
然后我得到:
SyntaxError: expected expression, got '.'[Learn More]
我敢承担这个失败作为一个整体评估表达。
更新2:
我猜这个问题实际上可能涉及:How can I get the Clojurescript namespace I am in from within a clojurescript program?
(println *ns*)
只是打印零。所以也许Clojurescript不能看到自己的命名空间。
因此:ns在eval中不起作用?