New in classes

Hi
In the attached code what is the meaning of colored part of code? what
is the meaning those codes that showed when I wrote “Test.new” and
“variable = Test.new” ?

Amir E. [email protected] wrote:

Hi
In the attached code what is the meaning of colored part of code? what
is the meaning those codes that showed when I wrote “Test.new” and
“variable = Test.new” ?

Attachments:
http://www.ruby-forum.com/attachment/4926/capture.jpg

You said “please instantiate the Test class”. irb said “Okay, I did
that; I made a new instance of Test, and here is its memory address so
you can keep track of this instance later if you need to.”

Then you said “Well, that was stupid; I instantiated the Test class, but
I didn’t do anything about capturing that instance, so I have no way to
refer to it. So this time, please instantiate the Test class and point
to that instance with a variable called variable.” irb said “Okay, I did
that; I made a new instance of Test, and here is its memory address
(pointed to by variable) so you can keep track of this instance later if
you need to. By the way you can see from the address that this is a
different instance from the one we made earlier.”

If you are a total beginner with the notion of classes and instances (it
looks like you are), this might help you:

http://www.apeth.com/rubyIntro/justenoughruby.html

m.

Hi!

You have a class. Next, Test.new - it’s a instantiation, you create the
real
object in memory from you class.
You need to store that instance in variable to work with it, f.e

class Test
def test
put “Hello”
end
end

v=Test.new // I create instance and store it in variable
v.test // call method test

To work with real object you need have link for it. This link is a
variable
“v”

You said “please instantiate the Test class”. irb said “Okay, I did
that; I made a new instance of Test, and here is its memory address so
you can keep track of this instance later if you need to.”

Then you said “Well, that was stupid; I instantiated the Test class, but
I didn’t do anything about capturing that instance, so I have no way to
refer to it. So this time, please instantiate the Test class and point
to that instance with a variable called variable.” irb said “Okay, I did
that; I made a new instance of Test, and here is its memory address
(pointed to by variable) so you can keep track of this instance later if
you need to. By the way you can see from the address that this is a
different instance from the one we made earlier.”

you means that in second time that I make an object I named a memory
location to “variable”?

When you create a instance of object you need to store link to it.

No, you store memory location in link variable.