An Example for the difference between class and instance variable in Ruby

Create a ruby class called Test

class Test
   def cv=(value)
     @@cv = value
     end
   def cb=(value)
     @cb = value
     end
   def cv
     @@cv
     end
   def cb
     @cb
     end
   end
 => nil 

Then create an instance of this class a and b

Try accessing the class variable without initializing it.

a = Test.new
 => # 
 a.cv
NameError: uninitialized class variable @@cv in Test
    from (irb):9:in `cv'
    from (irb):16

Initialize the class variable with some data. And add values to the instance variable of a and b.

a.cv=45
 => 45 

a.cv
 => 45 
b = Test.new
 => # 
b.cv
 => 45 
a.cb = 34
 => 34 
a.cb
 => 34 
b.cb
 => nil 
b.cb = 90
 => 90 
b.cb
 => 90 

Author: Abhilash

Hey! This is Abhilash - A Ruby developer, specialised on web development. I am also working on other frameworks such as Angular, Sinatra, Laravel, NodeJS etc. Ruby On Rails is my primary software framework, which I do since 2010. This blog is about Ruby, Ruby On Rails and other subjects that I have had experienced upon. You can contact me here: abhilash.amballur@gmail.com LinkedIn: www.linkedin.com/in/abhilashak

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: