Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Clojure阅读器将文本文件中的字符串转换为可解析的函数_Clojure_Datomic - Fatal编程技术网

如何使用Clojure阅读器将文本文件中的字符串转换为可解析的函数

如何使用Clojure阅读器将文本文件中的字符串转换为可解析的函数,clojure,datomic,Clojure,Datomic,我有一个EDN文本文件,其中包含一个创建SQUUID的函数: [ {:db/id #db/id[:db.part/people -1001] :people.human/uuid (d/squuid) ... ] 我正在使用slurp将此文件读入var: (def seed-data (read-string (slurp "path/to/my-edn-file.edn"))) 当它被读入var时,我希望调用(d/squuid)函数。我相信这与clojure阅读器有关,但我坚持在

我有一个EDN文本文件,其中包含一个创建SQUUID的函数:

[
 {:db/id #db/id[:db.part/people -1001]
  :people.human/uuid (d/squuid)
  ...
]
我正在使用slurp将此文件读入var:

(def seed-data (read-string (slurp "path/to/my-edn-file.edn")))

当它被读入var时,我希望调用(d/squuid)函数。我相信这与clojure阅读器有关,但我坚持在EDN文件中使用正确的符号。谢谢。

读取字符串
只读取表示为
字符串
的表单。如果您想对它们进行评估(并且希望它按照您希望执行
d/squuid
的方式进行),您需要
eval
您的表单:

(def seed-data
  (-> "path/to/my-edn-file.edn"
      (slurp)
      (read-string)
      (eval)))
安全警告

当他们执行代码时可能会很危险。您应仅将其用于您知道安全的数据(例如,不从web表单、外部API等外部来源提供)