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=>
>
> --
> Michael Wood <[EMAIL PROTECTED]>

Hi Michael,

Thanks. It's nice if the built-in printf could take a stream like
this: (printf *err* "%s\n" "oops").

--Kei
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to