So what is the distinction between a class instance variable and a
class variable (ie @@name="Steve")?

On Feb 18, 1:56 pm, Frederick Cheung <[email protected]>
wrote:
> On 18 Feb 2009, at 18:42, Steve wrote:
>
>
>
> > Learning about instance variables and don't understand why the
> > instance variable "name" in the code example below is not visible
> > where as "title" is. Could someone explain this to me and why I hadto
> > use the "self.get_name()" method (which I don't understand since I
> > pulled it off the net) to get the value out of name?
>
> Classes are objects in ruby and can have instance variables, so when  
> you set @name = "Steve" where you have put it you're create an  
> instance variable on the class rather than an instance variable on a  
> particular instance of the class.
>
> Fred
>
> > Thanks
> > -------------------------------
> > class InstanceVariables
> > �...@name = "Steve"
>
> >  def initialize()
> >   �...@title = "Software Eng"
> >  end
>
> >  def self.get_name
> >   �...@name
> >  end
>
> >  def get_name
> >    self.class.get_name    # Why can't I just return @name?
> >  end
>
> >  def get_title
> >   �...@title
> >  end
>
> >  def show_vars
> >    puts "name: #...@name, title: #...@title"  # name is not set, at least
> > that I can tell.
> >  end
> > end
> > ------------------------
> > obj1 = InstanceVariables.new
> > puts obj1.get_name()
> > puts obj1.get_title()
> > obj1.show_vars()
> > ------------------------
> > Steve
> > Software Eng
> > name: , title: Software Eng
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to