Sorry if this obvious, I\'m just not getting it. If I have an array of hashes like:
people = [{:name => \"Bob\", :occupation=> \"Builder\"}, {:name =&
Will work too:
people.each do |person|
person.each do |key,value|
print key == :name ? "#{value} : " : "#{value}\n"
end
end
Output:
Bob : Builder
Jim : Coder
Here you go:
puts people.collect { |p| "#{p[:name]}: #{p[:occupation]}" }
Or:
people.each do |person|
puts "#{person[:name]}: #{person[:occupation]}"
end
In answer to the more general query about accessing the values in elements within the array, you need to know that people
is an array of hashes. Hashes have a keys
method and values
method which return the keys and values respectively. With this in mind, a more general solution might look something like:
people.each do |person|
puts person.values.join(': ')
end