vik*_*hal 2 java programming-languages clojure
可能重复:
如何将字符串计算为clojure表达式?
从JTextField/Area(从Java Application)获取数据将返回类java.lang.String的数据.这个数据传递到EVAL的Clojure的未评价它,而不是打印这样,因为它是一个字符串.如何使eval评估此数据并返回输出.
例如)假设文本字段中的数据是(+ 2 3)
(println (eval (.getText text-field) ))
这打印(+ 2 3)而不是5
您需要先将字符串转换为Clojure数据结构,然后才能进行评估,因为eval需要根据文档建立有效的表单数据结构:
(doc eval)
-------------------------
clojure.core/eval
([form])
Evaluates the form data structure (not text!) and returns the result.
Run Code Online (Sandbox Code Playgroud)
最简单的方法是在String上使用read-string,例如
(eval (read-string "(+ 2 7)"))
=> 9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |