On Wed, Feb 4, 2009 at 12:49 PM, Christophe Grand <christo...@cgrand.net> wrote:
>
> David Nolen a écrit :
>> (defn foobar [#^MyClass[] myarray])
>>
>> This syntax doesn't seem to work.
> Indeed it's a bit tricky:
> #^"[Lyour.package.YourClass;"
>
> You can find it by doing:
> user=> (class (into-array [(your.package.YourClass.)]))
> [Lyour.package.YourClass;

Christophe, thanks for pointing the way.  Sorry I kept going...

(defn array-of [cname]
  (-> cname resolve .newInstance list into-array class .getName))

With that, you can:

(defn foobar [#^#=(array-of MyClass) myarray])

At least it appears to work:

user=> (meta #^#=(array-of String) [])
{:tag "[Ljava.lang.String;"}

Again, I apologize for even suggesting this.

--Chouser

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to