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. :-|