On 02.06.2010, at 02:51, Mark Rathwell wrote:
> I apologize for my ignorance, I've been struggling with this one for a couple
> hours and can't figure it out. Why does apply not work with constructors,
> special forms, etc.? Is there some other standard way to unpack a list? My
> question is outlined below, I have a variable length list of parameters that
> I want to send to the matching constructor:
Constructors calls translate directly to Java constructor calls, meaning that
the number of arguments must be known at compile time.
Assuming your constructor takes a fixed number of arguments, the easiest
solution to your problem is to wrap the constructor in a function:
(apply (fn [p1 p2] (new Connection.Configuration p1 p2)) params)
If your class has multiple constructors with different arity, there are ways to
look up the right constructor using reflection, but I have forgotten the
details already.
Konrad.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en