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 Loops Build a Simple Contact List Hash and Array Iteration

Need Help

I need help with this question.

contact_list.rb
contact_list = [
  {"name" => "Jason", "phone_number" => "123"},
  {"name" => "Nick", "phone_number" => "456"}
]

contact_list.each do |contact|
  contact = contact_list.each.inspect 
  print contact.inspect
end

3 Answers

Kourosh Raeen
Kourosh Raeen
23,732 Points

You don't need to explicitly assign anything to contact. In each iteration of the loop contact will be one of the hashes in the contact_list array. You need to print the value of the name and phone_number keys of each hash by using square brackets after the name of the variable containing the hash, which is contact, and providing the name of the key inside the square brackets:

contact_list = [
  {"name" => "Jason", "phone_number" => "123"},
  {"name" => "Nick", "phone_number" => "456"}
]

contact_list.each do |contact|
  puts contact['name']
  puts contact['phone_number']
end

Thanks

Thanks

Alistair Mackay
Alistair Mackay
7,812 Points

Yeah, this totally helped. Just by the by how do you link your code to replies?

Kourosh Raeen
Kourosh Raeen
23,732 Points

Alistair Mackay - Use three backticks, ```, followed by the name of the language, python for example, then another three backticks after the last line of code.

Alistair Mackay
Alistair Mackay
7,812 Points

Bingo thanks Kourosh,

something like this:

string = "hello world"
Kourosh Raeen
Kourosh Raeen
23,732 Points

Yes, except I'm not sure why you have the &quot.

Alistair Mackay
Alistair Mackay
7,812 Points

Yeah me neither, it seems to be linked with anything that has speech marks (" "). But thanks, I think I'm getting the hang of this now.