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,231 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!