Puts from #!, but with data structure chrome

When playing with small scripts and using puts to output some results, I
find it rather disappointing that outputting an array or hash does not
have the data structure chrome of [ ] and { } -- I know IRB does this,
but I'm testing stuff too cumbersome for IRB.

Is there a way to run a #! script and cause output using puts (or
alternative) to actually show an array like ['a', 'b'] instead of just
ab ?

-- gw

···

--
Posted via http://www.ruby-forum.com/.

Alle giovedì 25 ottobre 2007, Greg Willits ha scritto:

When playing with small scripts and using puts to output some results, I
find it rather disappointing that outputting an array or hash does not
have the data structure chrome of and { } -- I know IRB does this,
but I'm testing stuff too cumbersome for IRB.

Is there a way to run a #! script and cause output using puts (or
alternative) to actually show an array like ['a', 'b'] instead of just
ab ?

-- gw

Use p instead of puts. puts(obj) calls obj.to_s, while p(obj) calls p.inspect,
which is what IRB does.

I hope this helps

Stefano

# Is there a way to run a #! script and cause output using puts (or
# alternative) to actually show an array like ['a', 'b'] instead of just
# ab ?

a

=> [1, 2]

b

=> {1=>2, 2=>3}

p a,b

[1, 2]
{1=>2, 2=>3}

puts a.inspect, b.inspect

[1, 2]
{1=>2, 2=>3}

in ruby1.9, you can do

puts a.to_s, b.to_s

and p now returns array result (amazing) like,

RUBY_VERSION

=> "1.9.0"

p a,b

[1, 2]
{1=>2, 2=>3}
=> [[1, 2], {1=>2, 2=>3}]

x=(p a,b)

p x

[[1, 2], {1=>2, 2=>3}]
=> [[1, 2], {1=>2, 2=>3}]

nice for debugging/testing.

kind regards -botp

···

from: Greg Willits [mailto:lists@gregwillits.ws]

Stefano Crocco wrote:

Alle giovedì 25 ottobre 2007, Greg Willits ha scritto:

Is there a way to run a #! script and cause output using puts (or
alternative) to actually show an array like ['a', 'b'] instead of just
ab ?

Use p instead of puts. puts(obj) calls obj.to_s, while p(obj) calls
p.inspect,
which is what IRB does.

I hope this helps

Stefano

Ahhh. Perfect. :slight_smile:

-- gw

···

--
Posted via http://www.ruby-forum.com/\.