Actualmente estoy tratando de iterar sobre una matriz de hashes y devolver todos los valores de la clave "nombre" en una cadena. Aquí está la matriz:
foods = [ { name: 'Dan Dan Noodles', cuisine: 'Sichuan', heat_level: 8 }, { name: 'Nashville Hot Chicken', cuisine: 'American', heat_level: 7 }, { name: 'Panang Curry', cuisine: 'Thai', heat_level: 4 }, ]Esto es lo que estoy haciendo actualmente, ¡y no estoy totalmente seguro de por qué no funciona!
foods.each do |food| food.each do |k, v| if food == :name "#{v}" end end endGracias por adelantado.
Puedes usar Enumerable#map para esto:
p foods.map { |f| f[:name] }El código que intentó usar no produjo ningún resultado ni creó ningún objeto, y no fue necesario usar un segundo ciclo para acceder a un solo elemento de un hash.