Trying to grasp the difference between local variables and i


#1

Hi:

Would it be fair to say (or completely out to lunch) that a local
variable is local to a method and an instance variable is local to an
object. Thus an instance variable is a sort of limited global
variable or super-powered local variable. Its scope is larger than a
local but smaller than a global. Or that it is a global within a
limited domain (the object).

or is it a whole lot deeper than that?

I am told that the Hindus believe that God is near us always but a
veil of delusion hides his glory from our eyes. I feel the same way
about rails except that it is a veil of CONfusion that hides its
glory from me. I believe its glory is there, waiting to be felt.

bruce


#2

On 12/23/05, Bruce B. removed_email_address@domain.invalid wrote:

Hi:

Would it be fair to say (or completely out to lunch) that a local
variable is local to a method and an instance variable is local to an
object. Thus an instance variable is a sort of limited global
variable or super-powered local variable. Its scope is larger than a
local but smaller than a global. Or that it is a global within a
limited domain (the object).

or is it a whole lot deeper than that?

In general terms, a local variable is in the scope of whatever is
‘nearest’ to it.
Usually that’s a method, but it doesn’t have to be (Procs are another
possibility).

The only practical differences between the various kinds of variables
are in where they are visible, and when they can be swept up by the
garbage collector.

In other words, you had it right. Heh.


#3

Hi Bruce,
Actually its deeper, and instance variable can also belong to a class
because a class itself is an object.
I would suggest you look at
http://groups.google.com/group/comp.lang.ruby/msg/f77ec15436916c69
and the ensuing thread.
and this excellent noob examples by Ross B.
http://roscopeco.co.uk/code/noob/index.html

Vivek