我继承了一些执行以下操作的 Java 代码:
1) 它从 Clojure 接收一个 LazySeq 对象(由许多 PersistentHashMap 对象组成)
2) 然后它将相同的 LazySeq 对象(未更改)传递回 Clojure 脚本,在该脚本中将其转换为字符串并传递回 Java
问题是在步骤 (1) 之后和步骤 (2) 之前的 Java 代码中,我需要修改 LazySeq 中的一些 PersistentHashMap 对象,然后继续执行步骤 (2)。就像是:
LazySeq seq = clojureFunctionReturningLazySeq();
//update the elements of the sequence
String result = clojureFunctionReceivingLazySeq(seq);
我无法修改 Clojure 脚本本身,并且 LazySeq 的更新必须在 Java 代码中进行。我检查了 LazySeq API,但找不到修改(或添加)元素的方法。
谢谢,
克里斯