dynamic-send
- это функция (также известная как процедура; например, car
, vector-set!
, +
), поэтому вы можете использовать apply
:
(apply dynamic-send light-class method-name parameters)
Или даже просто:
(apply dynamic-send light-class message)
Причина, по которой send
имеет вариант send/apply
, заключается в том, что send
является формой (также известной как синтаксис; например, let
, define
], if
), поэтому apply
не работает и, следовательно, send/apply
предоставляется отдельно.
Поскольку Clojure может использовать собственные функции Java, почему бы не использовать их? Быстрый поиск в Google по этим направлениям дает: http://gnuvince.wordpress.com/2009/01/29/reading-binary-data-in-clojure/