Skip to main content

Ruby difference between single and double quotes

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.

Comments

Popular posts from this blog

Gem::LoadError (Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).?

Gem::LoadError (Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).) In rails?


1)change the gemfile in mysql version
 gem 'mysql2'

2)Change to mysql2 version
 gem 'mysql2','0.3.20'

Active Scaffold : Add radio buttons to your form ruby on rails ?

Active Scaffold : Add radio buttons to your form ruby on rails ?

The way to add radio buttons to your active scaffold create/update from is as shown below

#Controller

class UsersController < ApplicationController
active_scaffold :user do |config|
config.label = “Users”
config.columns = [:name, :gender]
config.columns[:gender].form_ui = :radio
config.columns[:gender].options[:options] = [['Male', '1'], ['Female','2']]
end
end

Get user accessing ip address in rails?

Get user accessing ip address rails?

request.ip ->returns the ip, whether is is a local proxy ip (localhost address) or not.
*request.remote_ip -> is smarter and gets the ip address of the client outside of local proxies.
3)If you are using apache in front of a mongrel, then remote_ip will return the source address of the request, which in this case will be local host because the Apache web server is making the request, so instead put this in your controller:

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]