Я пытаюсь найти идиоматический способ Clojure инициализировать объект Java. У меня есть следующий код:
(let [url-connection
(let [url-conn (java.net.HttpURLConnection.)]
(doto url-conn
(.setDoInput true)
; more initialization on url-conn
)
url-conn)]
; use the url-connection
)
, но он кажется очень неудобным.
Как лучше создать объект HttpURLConnection
и инициализировать его, прежде чем использовать его в дальнейшем в коде ?
ОБНОВЛЕНИЕ : кажется, что (doto ...)
может пригодиться здесь:
(let [url-connection
(doto (java.net.HttpURLConnection.)
(.setDoInput true)
; more initialization
))]
; use the url-connection
)
Согласно doto
docs, он возвращает значение в что он «делает».