Begineer question

J

jim o

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?

Thanks
Jim






____________________________________________________________________________________Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
http://farechase.yahoo.com/
 
F

Felipe Contreras

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.
 
S

Sebastian Hungerecker

jim said:
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

puts #{a} doesn't do anything (except return nil), so I'm going to assume you
meant to say puts "#{a}". Since that does the same thing as puts a but is more
to type, I'd always use the latter. The #{} syntax is only useful when you
want to print out more than just the content of the variable. For example:
puts "The value of x is #{x}"
 
C

Chad Perrin

puts #{a} doesn't do anything (except return nil), so I'm going to assume you
meant to say puts "#{a}". Since that does the same thing as puts a but is more
to type, I'd always use the latter. The #{} syntax is only useful when you
want to print out more than just the content of the variable. For example:
puts "The value of x is #{x}"

It really takes a more complex example to really make using that syntax
worthwhile. After all, these are equivalent:

puts "The value of foo is #{foo}"
puts "The falue of foo is " + foo

. . except that the second example doesn't require as much use of the
Shift key.

Yeah, though -- your example does make the point clear. I guess I'm
just being a touch pedantic.
 
R

Robert Dober

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
 
S

Sebastian Hungerecker

Chad said:
After all, these are equivalent:

puts "The value of foo is #{foo}"
puts "The falue of foo is " + foo

Only if foo is a string. #{} automatically to_ses non-strings, while + doesn't
 
L

Lloyd Linklater

Perhaps a translation would make things clearer:

printf("We are going to %s.", [toUpper(destination)]);

puts "We are going to #{destination.upcase}."
 
R

Robert Dober

Perhaps a translation would make things clearer:

printf("We are going to %s.", [toUpper(destination)]);

puts "We are going to #{destination.upcase}."
Maybe print is better a translation, but you made your point nonetheless ;)

Robert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top