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" ?

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

···

--
Posted via http://www.ruby-forum.com/.

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.

···

Amir Ebrahimifard <amiref@ymail.com> 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

--
matt neuburg, phd = matt@tidbits.com <http://www.tidbits.com/matt/>
A fool + a tool + an autorelease pool = cool!
AppleScript: the Definitive Guide - Second Edition!
http://www.tidbits.com/matt/default.html#applescriptthings

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"

···

On Sun, Aug 8, 2010 at 6:54 PM, Amir Ebrahimifard <amiref@ymail.com> 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

--
Posted via http://www.ruby-forum.com/.

--
With regards,
Alexei Bovanenko

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"?

···

--
Posted via http://www.ruby-forum.com/.

No, you store memory location in link variable.

···

On Sun, Aug 8, 2010 at 10:07 PM, Amir Ebrahimifard <amiref@ymail.com> wrote:

> 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"?
--
Posted via http://www.ruby-forum.com/.

--
With regards,
Alexei Bovanenko

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

···

On Sun, Aug 8, 2010 at 10:14 PM, Alexey Bovanenko <a.bovanenko@gmail.com>wrote:

No, you store memory location in link variable.

On Sun, Aug 8, 2010 at 10:07 PM, Amir Ebrahimifard <amiref@ymail.com>wrote:

> 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"?
--
Posted via http://www.ruby-forum.com/.

--
With regards,
Alexei Bovanenko

--
With regards,
Alexei Bovanenko