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 Loops Build a Simple Contact List Assigning Hash Values From Methods

Can't push a hash to an array?

I can't seem to get a single hash to push or append onto an array. Solution to the code challege is below, but treehouse just says "Bummer: try again".

contact_list = []

contact = {"name" => "", "phone_number" => "" } contact["name"] = get_name contact["phone_number"] = get_phone_number() contact_list.push(contact)

def get_name puts "what is your name?" return gets.chomp end

def get_phone_number() puts "enter a phone number: " return gets.chomp end

contact.rb
contact_list = []

contact = {"name" => "", "phone_number" => "" }
contact["name"] = get_name
contact["phone_number"] = get_phone_number()
contact_list.push(contact)


def get_name
  puts "what is your name?" 
  return gets.chomp
end
def get_phone_number()
  puts "enter a  phone number: "
  return gets.chomp
end

2 Answers

Hi David,

You shouldn't define the get_name and get_phone_number methods yourself. The challenge is providing them. You really only need those 3 lines after the contact hash is created.

Thanks for your help, Jason. I guess it just didn't make sense to me that I wouldn't write those functions myself. :-|