●●● Problème ●●● Supposons que vous ayez le tableau user_data suivant.
user_data = [
{
user: {
profile: {
name: 'George'
}
}
},
{
user: {
profile: {
name: 'Alice'
}
}
},
{
user: {
profile: {
name: 'Taro'
}
}
}
]
À partir de là, extrayez uniquement le nom d'utilisateur pour que la sortie ressemble à celle ci-dessous.
George
Alice
Taro
●●● Répondre ●●●
user_data.each do |u|
puts u[:user][:profile][:name]
end
Ou
user_data.each{ |u| puts u.dig(:user, :profile, :name) }
●●● Explication ●●●
Tout d'abord, comment récupérer le hachage.
hacher[Clé de la valeur que vous souhaitez obtenir]
#Exemple
user = {name:Taro}
user[:name]
#=> "Taro"
Vérification de la structure du tableau de problèmes user_data
Premier élément du tableau
{user:{profile:{name:'George'}}}
Deuxième élément du tableau
{user:{profile:{name:'Alice'}}}
Le troisième élément du tableau
{user:{profile:{name:'Taro'}}}
Vous pouvez voir que c'est le cas. La méthode each est utilisée pour le tableau user_data et la clé de nom est extraite pour chaque élément du tableau. Par conséquent, la réponse est comme ci-dessus.
Recommended Posts