--
Posted via http://www.ruby-forum.com/.
p uses String#inspect which I believe will always print something that can
be safely interpreted as a Ruby string on 7 bit ASCII. You should use
puts instead of p - p is really rather a debugging / inspection untility
but not meant for normal program output (IMHO).
Kind regards
robert
UPDATE: I just checked that with $KCODE = 'u', p shows "College" in
Russian just like that -- "bea[u]tiful text" ;-).
Gennady.
> -----Original Message-----
> From: list-...@example.com
> [mailto:list-...@example.com] On Behalf Of Valerij KIR
> Sent: Tuesday, January 31, 2006 7:10
> To: ruby-talk ML
> Subject: Strange print
>
> Hi all!
> I have some text in russian. Then I've print it with puts I
> saw beatiful text, but then use p operator text is
> "\353\317\314\314\305\304\326".
> How can I solve problem, because when using iconv the problem is same?
>
The difference between puts obj and p obj is that the
former uses obj.to_s and the latter obj.inspect. Is
there a specific reason why you need to use p instead
of puts or did I misunderstand you?
E