Difference between && and and in Ruby

   Difference between && and 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 true

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