Clojure, один и тот же вызов метода для разных объектов Java

В этом коде headerTable а также rowsTable являются объектами Java Здесь для них вызывается один и тот же метод с тем же аргументом:

(.setHorizontalAlignment headerTable Element/ALIGN_LEFT)
(.setHorizontalAlignment rowsTable Element/ALIGN_LEFT)  

Есть ли лучший способ сделать это? Я думаю, что должен быть способ объединить два вызова в один. Но так как это "побочный эффект" кода, возможно, нет??

Я думаю об ответе без написания пользовательской функции или макроса, что-то вроде "просто использовать juxt или же comp", но тогда, может быть, я слишком предписываю...

Леонид Бесчастный упомянул хинтингEdit Type, так что на всякий случай это поможет подпись метода Java:

public void setHorizontalAlignment(int horizontalAlignment)  

И класс PdfPTableот iText. (Этот код используется для создания файлов PDF).

1 ответ

Решение

Есть много возможных рефакторингов, один будет

(run! #(.setHorizontalAlignment ^PdfPTable % Element/ALIGN_LEFT)
      [headerTable rowsTable])
Другие вопросы по тегам