On Fri, Nov 28, 2008 at 3:05 AM, Kei Suzuki <[EMAIL PROTECTED]> wrote: > > On Nov 27, 12:07 pm, "Michael Wood" <[EMAIL PROTECTED]> wrote: >> On Thu, Nov 27, 2008 at 9:21 PM, Chouser <[EMAIL PROTECTED]> wrote: >> >> > On Thu, Nov 27, 2008 at 2:12 PM, Kei Suzuki <[EMAIL PROTECTED]> wrote: >> >> >> Any formatted print method calls like below throw >> >> java.lang.ClassCastException at clojure.lang.Compiler.eval. >> >> >> (.printf System/out "%d" 1) >> >> (. System/out (printf "%d" 1)) >> >> (.format System/err java.util.Locale/US "%s" "error") >> >> (. System/out format nil "%s" "hello, world!\n") >> >> >> Am I missing something? Is it necessary to add hints that help casting >> >> variable args? >> >> > All those methods take Java variadic arguments, which generally means >> > you need build the array the method is expecting. Fortunately, in the >> > cases you list you can just use the Clojure function 'format' which >> > does it for you: >> >> > (.println System/out (format "%d" 1)) >> >> or (if you're not trying to send stuff to stderr or something): >> >> user=> (printf "%d" 1) >> 1nil >> user=> (printf "%s" "hello, world!\n") >> hello, world! >> nil >> user=> > > Hi Michael, > > Thanks. It's nice if the built-in printf could take a stream like > this: (printf *err* "%s\n" "oops").
I don't know why it was decided not to allow this. -- Michael Wood <[EMAIL PROTECTED]> --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---