Ruby Class Variables

Ruby Class Variables

Global variables, instance variables, class variables, local variables, and constants are the five types of variables supported by Ruby. This article will focus on the class variables in Ruby.

Create Class Variables in Ruby

Class variables begin with @@. Like other variables, class variables must be defined before they can be used.

This example demonstrates creating a class variable using Ruby version 2.7.2.

Example:

class Foo
  @@var_1 = 1

  def show_class_variable
    "Value of @@var_1: #{@@var_1}"
  end

  def increase_value
    @@var_1 += 1
  end
end

Foo.new.show_class_variable

Output:

"Value of @@var_1: 1"

All instances of the class share the value of a class variable. If one object modifies the class variable, the value is applied to all objects of the same class.

Consider the following scenario, which uses the Foo class.

Example:

foo_1 = Foo.new
foo_2 = Foo.new

foo_1.show_class_variable
=> "Value of @@var_1: 1" #Output

foo_2.show_class_variable
=> "Value of @@var_1: 1" #Output

foo_1.increase_value
foo_2.show_class_variable
=> "Value of @@var_1: 2" #Output
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe

Related Article - Ruby Variable