You can find it by doing:
user=> (class (into-array [(your.package.YourClass.)]))
[Lyour.package.YourClass;
Christophe
--
Professional: http://cgrand.net/ (fr)
On Clojure: http://clj-me.blogspot.com/ (en)
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
I already apologized twice, what more do you want from me!?
As penance, I will try to explain.
#^ is a reader macro, documented at http://clojure.org/reader
#= is another reader macro, largely undocumented, but discussed here:
http://groups.google.com/group/clojure/browse_thread/thread/7a24eeb982490a87/d579d881fea5b16d?#d579d881fea5b16d
>> user=> (meta #^#=(array-of String) [])
>> {:tag "[Ljava.lang.String;"}
The whole point of this example was to attach type-hint metadata to a
function arg, so the use of #^ was necessary. But usually #^ just
takes a literal symbol or map, and I wanted to use the results of a
function call, so I abused #= to do just that.
--Chouser