Wednesday 14 May 2014

Difference between && , and in Ruby

Difference between && , and in Ruby is mainly the Precedence of these operators. ‘and’ and ‘&&’ both have different precedence. This tutorial will help understanding with the help of examples.

Use of ‘&&’

The ‘&&' operator is used as "Logical AND” on the boolean/ non boolean variable in Ruby.
Example,
Suppose we have variable a as,
a = true
And variable b as,
b = false
Then, logical AND will give result as,
c = a && b
puts "C is #{c}"
=> C is false

Use of ‘and’

The 'and' operator is also used as "Logical AND” on the boolean/ non boolean variable in Ruby.
But, ‘and’ has lower precedence than ‘&&’
This will also give same results for example shown for ‘&&’
a = true
b = false
c = a and b
puts "C is #{c}"
=> C is false

Difference

Suppose, we have a, b and c variables as given below,
a = true
b = false
c = true

Use of && - Use of and

d = a && b && c
puts "D is #{d}"
=> false
e = a and b and c
puts "E is #{e}"
=> true

Points to be noted:

  • && has more precedence than =, thus evaluated result is assigned to d
  • and has less precedence than =, thus value of a is directly assigned to e which gets printed.