sketchucation logo sketchucation
    • Login
    🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    Class struggle

    Scheduled Pinned Locked Moved Developers' Forum
    4 Posts 2 Posters 136 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      spireup
      last edited by

      Hi

      Im very new and struggling to access my first lot of class definitions.

      Ive scoured some online books but cant find the error. Can anyone spot the problem

      class Widget
      def initialize(xPos, yPos, zPos)
      @xPos = xPos
      @yPos = yPos
      @zPos = zPos
      end
      end

      myW= Widget.new(1.1,0,8)
      puts myW.inspect
      puts myW.xPos

      The inspect works fine but i cant access the attributes.

      Thanks

      Paul

      1 Reply Last reply Reply Quote 0
      • thomthomT Offline
        thomthom
        last edited by

        You haven't defined any attributes. You just define instance variables.

        <span class="syntaxdefault"><br />class Widget<br /><br />  attr_accessor</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">xPos</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">yPos</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">zPos </span><span class="syntaxkeyword">)<br /><br /></span><span class="syntaxdefault">  def initialize</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">xPos</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> yPos</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> zPos</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">xPos </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> xPos<br />    </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">yPos </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> yPos<br />    </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">zPos </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> zPos<br />  end<br /><br />end<br /><br />myW</span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Widget</span><span class="syntaxkeyword">.new(</span><span class="syntaxdefault">1.1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">8</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">puts myW</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">inspect<br />puts myW</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">xPos<br /></span>
        

        Thomas Thomassen — SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply Reply Quote 0
        • thomthomT Offline
          thomthom
          last edited by

          <span class="syntaxdefault"><br />class Foo<br />  attr_accessor</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">bar </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">end<br /></span>
          

          is the same as

          <span class="syntaxdefault"><br />class Foo<br />&nbsp;&nbsp;</span><span class="syntaxcomment">#&nbsp;Getter<br /></span><span class="syntaxdefault">  def bar<br />    </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">bar<br />  end<br />&nbsp;&nbsp;</span><span class="syntaxcomment">#&nbsp;Setter<br /></span><span class="syntaxdefault">  def bar</span><span class="syntaxkeyword">=(</span><span class="syntaxdefault"> new_value </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">bar </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new_value<br />  end<br />end<br /></span>
          

          Thomas Thomassen — SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • S Offline
            spireup
            last edited by

            ThomThom

            thanks so much!

            Paul

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Buy SketchPlus
            Buy SUbD
            Buy WrapR
            Buy eBook
            Buy Modelur
            Buy Vertex Tools
            Buy SketchCuisine
            Buy FormFonts

            Advertisement