ruby difference between single and double quotes

In “Ruby difference between single and double quotes” is very common question that you might come across while using single quotes and double quotes in Ruby on Rails development. We will see in this tutorial what is exact difference between these two ways.

The Basic Difference

The basic difference between these two methods is Single quotes can not hold/print escape sequences directly, while double quotes can. i.e. Double quoted strings are used for String Interpolation in Ruby.

Single Quoted Strings

You can create a string using single quotes as follows,

name = 'Ruby on Rails'

Then this will get properly initialized. But you can not do,

print 'Working on: #{name}'

This will not print Working on Ruby on Rails i.e. String interpolation is not achieved.

Also, you will not able to create a string with escape sequences as,

name = 'Sachin's Test'

Above code will not compile anything. As apostrophe at the end of Sachin marks end of the string.

Double Quoted Strings

You can create double quoted strings as follows,

name = "Ruby on Rails"

String interpolation can be achieved by,

print "Working on #{name}"

What is String Interpolation: Basically Ruby interpreter converts the #{variable} - variable into string and replaces wherever you have used as interpolation value.

You can also print escape sequences using double quoted strings as,

print "Sachin's test"

This will properly print Ruby on Rails

You can refer concatenation of Strings in Ruby. For more on string in Ruby refer wiki for literals and Strings

In this tutorial we learned about ruby, difference between single and double quotes and what is String interpolation and how it can be used.