[RUBY] [Über Double Hash]

●●● Problem ●●● Angenommen, Sie haben das folgende Array user_data.

user_data = [
  {
    user: {
      profile: {
        name: 'George'
      }
    }
  },
  {
    user: {
      profile: {
        name: 'Alice'
      }
    }
  },
  {
    user: {
      profile: {
        name: 'Taro'
      }
    }
  }
]

Extrahieren Sie von hier aus nur den Benutzernamen, sodass die Ausgabe wie folgt aussieht.

George
Alice
Taro

●●● Antwort ●●●

user_data.each do |u|
puts u[:user][:profile][:name]
end

Oder
user_data.each{ |u| puts u.dig(:user, :profile, :name) }

●●● Erklärung ●●●

Zunächst einmal, wie man den Hash abruft.

Hash[Schlüssel des Wertes, den Sie erhalten möchten]

#Beispiel
user = {name:Taro}
user[:name]
#=> "Taro"

Überprüfen der Struktur des Problemarrays user_data

Erstes Element des Arrays
{user:{profile:{name:'George'}}}
Zweites Element des Arrays
{user:{profile:{name:'Alice'}}}
Das dritte Element des Arrays
{user:{profile:{name:'Taro'}}}

Sie können sehen, dass es ist. Jede Methode wird für das Array user_data verwendet, und der Namensschlüssel wird für jedes Element des Arrays extrahiert. Daher lautet die Antwort wie oben.

Recommended Posts

[Über Double Hash]
[Rubin] Doppelter Hash
[Rails] Über aktiven Hash
Hash
gem active_hash Über aktiven Hash
Über =
Über das Verhalten von Ruby Hash # ==
Extraktion von "Ruby" Double Hash * Review
Über method.invoke
Über Kotlin
Über attr_accessor
Über Hinemos
Über die Vererbung
Über Docker
Über den Frühling ③
Über Polymorphismus
Über Optional
Über Hash
Über JitPack
Darüber ()
Über die Kapselung
Über JAVA_HOME
Über statische
Über Ausnahmen
Über den Umfang
[Maven] Über Maven