How does one get a String representation of an Array (not to


#1

Hi all

(I know about to_s — that isn’t what this post is about!)

Say I have an array that I create with:

a = [1, 2, [3, 4], 5]

At the irb prompt, Ruby replies:

=> [1, 2, [3, 4], 5]

So how do I get a String containing “[1, 2, [3, 4], 5]”? Doing a.to_s
gives me “12345”, which is not what I want.

I need this for debugging purposes and would rather not have to write
my own array printer. It must be easy, but I can’t see which function I
should use.

Thanks in advace,

C


#2

On Thu, 23 Feb 2006 removed_email_address@domain.invalid wrote:

=> [1, 2, [3, 4], 5]
C
inspect

-a


#3

On Thu, 2006-02-23 at 02:48 +0900, removed_email_address@domain.invalid wrote:

=> [1, 2, [3, 4], 5]

So how do I get a String containing “[1, 2, [3, 4], 5]”? Doing a.to_s
gives me “12345”, which is not what I want.

s = [1,2,[3,4],5].inspect

=> “[1, 2, [3, 4], 5]”

puts s
[1, 2, [3, 4], 5]


#4

Hi,

a.inspect is probably what you’re looking for. ‘p a’ will print it
directly to stdout.

Pete


#5

Thanks all!


#6

removed_email_address@domain.invalid wrote:

=> [1, 2, [3, 4], 5]
C
puts a.inspect

Or just

p a

Kind regards

robert