Robert Dober
5/18/2007 7:45:00 PM
On 5/18/07, Felipe Contreras <felipe.contreras@gmail.com> wrote:
> On 5/18/07, jim o <jamesoyim@yahoo.com> wrote:
> > I have had a horrible time googling this as I get too many hits back that don't apply.
> >
> >
> >
> > I am new to Ruby, and trying to find a good ref as for when one would use the form
> >
> >
> >
> > puts #{a}
> >
> > vs
> > puts a
> >
> > Does anyone have any pointers?
>
> You mean:
> puts "#{a}"
>
> Right? If so then it simply helps to do:
>
> puts "foo=#{a} allows you to do more interesting things"
>
> If you just want to print 'a' then there's no reason to do "#{a}" it
> would be like doing "%s" % [a]; you can do it, but it doesn't make
> sense.
Well maybe it might be useful to explain things a little more in
detail, because there is #to_s called all over the place
As a matter of fact "#{a}" is the same as "" << a.to_s
and IO#puts, IO#write and IO#print convert their arguments by
calling#to_s on them too.
It is therefore only in the context of e.g. puts that
"#{a}" is the same as a.
HTH
Robert
>
> --
> Felipe Contreras
>
>
--
You see things; and you say Why?
But I dream things that never were; and I say Why not?
-- George Bernard Shaw