Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Ruby Objects and Classes Variables and Methods Variables

Michael Kristensen
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Michael Kristensen
Full Stack JavaScript Techdegree Graduate 26,050 Points

Error when passing 4 parameters to the Name initialize method

Seeing the video I noticed the need for four parameters in the creation of the class, but when I send the parameters, I get an error:

name.rb:23: syntax error, unexpected ',', expecting ')'
name = Name.new ("Mr.", "James", "Earl", "Jones")
                      ^
name.rb:23: syntax error, unexpected ',', expecting end-of-input
...ame = Name.new ("Mr.", "James", "Earl", "Jones")

Which confuses me, a lot - Does it have something to do with the quotations around the strings I'm sending, or am I using the wrong kind of comma? I can't figure it out on my own.

class Name
  def initialize(title, first_name, middle_name, last_name)
    @title = title
    @first_name = first_name
    @middle_name = middle_name
    @last_name = last_name
  end
  def title
    @title
  end
  def first_name
    @first_name
  end
  def middle_name
    @middle_name
  end
  def last_name
    @last_name
  end
end

name = Name.new ("Mr.", "James", "Earl", "Jones")
puts name.title + " " +
     name.first_name + " " +
     name.middle_name + " " +
     name.last_name

1 Answer

Michael Kristensen
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Michael Kristensen
Full Stack JavaScript Techdegree Graduate 26,050 Points

Solution Found: The space between Name.New and the parentheses containing the four parameters should not be there. The correct line is;

name = Name.new("Mr.", "James", "Earl", "Jones")

And now the code passes without error.