Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Ruby Ruby Objects and Classes Variables and Methods Variables and Methods

Alicja Dul
Alicja Dul
8,589 Points

In the initialize method of the Name class, set an instance variable called @title to the title argument. Note: you will

I have tried several times..doesn´t work

:(

class.rb
class Name

name = Name.new("Mr.")
  def intialize(title)
     @title = title
  end
  def title
    @title
  end
  def first_name
    "Metal"
  end
  def last_name
    "Robot"
  end
end
name.title

2 Answers

Ari Misha
Ari Misha
19,268 Points

Hiya Alicja Dul ! If you're moving from another languages like JavaScript or Python or Java or C++ or C# or even Go, every class implementation has a constructor method ( which is called initialize in Ruby ) which controls how new instances are created on the same class itself. It like a blueprint of how your new instance will be created.

Now regarding your the challenge, i think you got it all wrong. But it has an easy fix. The challenge wants you to create a new initialize method in your class implementation. Now , since we need to give title attribute to our instances, so initialize method needs to take an argument of title and sign to an instance variable called @title (it can be named anything but for best practices it needs to be descriptive). To sum it all up , thIs is how your code should look like:

class Name
  def initialize (title)
    @title = title
  end

  def first_name
    "Metal"
  end

  def last_name
    "Robot"
  end
end
Alicja Dul
Alicja Dul
8,589 Points

Thank you so much!