I am looking for a more elegant way of concatenating strings in Ruby.
I have the following line:
source = '#{ROOT_DIR}/' << project << '/App.config'
Is there a nicer way of doing this?
And for that matter what is the difference between << and +?
You can do that in several ways:
<<but that is not the usual wayWith string interpolation
with
+The second method seems to be more efficient in term of memory/speed from what I’ve seen (not measured though). All three methods will throw an uninitialized constant error when ROOT_DIR is nil.
When dealing with pathnames, you may want to use
File.jointo avoid messing up with pathname separator.In the end, it is a matter of taste.