Clojure:在Java对象上调用方法序列

时间:2018-09-12 13:37:10

标签: clojure clojure-java-interop

我在某个地方看到了这个文档,但是我不记得该函数的名称和名称:我要搜索的是一个以Java对象作为参数并在其上执行一系列方法的函数/宏。该对象并返回它。像这样:

(<the function> obj
  (.setName obj "the name")
  (.setAmount obj42.0)
  ; ...
  (.setDescription obj "the description"))  ; returns the updated obj

1 个答案:

答案 0 :(得分:4)

您可以使用..

(.. obj (setName "the name") (setAmount 42.0) ... (setDescription "the description"))

如果这些方法未返回目标对象,则可以使用doto

(doto obj (.setName "the name") (.setAmount 42.0) ... (.setDescription "the description"))