I am just starting to learn Ruby (first time programming), and have a basic syntactical question with regards to variables, and various ways of writing code.
Chris Pine's "Learn to Program" taught me to write a basic program like this...
num_cars_again= 2
puts 'I own ' + num_cars_again.to_s + ' cars.'
This is fine, but then I stumbled across the tutorial on ruby.learncodethehardway.com, and was taught to write the same exact program like this...
num_cars= 2
puts "I own #{num_cars} cars."
They both output the same thing, but obviously option 2 is a much shorter way to do it.
Is there any particular reason why I should use one format over the other?
Whenever TIMTOWTDI (there is more than one way to do it), you should look for the pros and cons. Using "string interpolation" (the second) instead of "string concatenation" (the first):
Pros:
to_s
for youCons:
to_s
for you (maybe you thought you had a string, and the to_s
representation is not what you wanted, and hides the fact that it wasn't a string)"
to delimit your string instead of '
(perhaps you have a habit of using '
, or you previously typed a string using that and only later needed to use string interpolation)