从Java将Args传递给Clojure

cryptic_star:

我想将Clojure代码嵌入Java。站点在设置此基础方面很有帮助,但是它传递的唯一arg是String类型。我也尝试过使用整数,那些也可以。

我的问题是是否存在某种格式的方法来将结构化数据传递给Clojure。特别是,我有一些要传递给Clojure并变成一个矢量的点列表:

[[1 2] [3 4] [5 6]]

这样做最简单的方法是什么?是否可以在Java端进行预处理,还是应该在Clojure端进行后处理,还是Clojure中是否有可以处理的事情?我怀疑它会将数字字符串和每个元组的长度传递给Clojure,并让它将字符串处理为向量。但是,Clojure的这一方面没有很多示例,我很想知道是否缺少明显的内容。

编辑:请看mikera的答案,您是否有兴趣传递Java对象。如果您只想提前将数据格式化为Set / map / etc的Clojure格式,请查看下面的答案。

mikera:

这一点取决于数据以什么格式开始,但是您可能会发现,最简单的方法是直接传递表示数据的Java对象并使用Clojure的Java互操作性功能读取数据。

例如,您可以直接传递点的Java数组,并执行类似的操作:

(let [point (aget some-array index)]
  (do-stuff-with-point point))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章