Erklären von Ruby Hash-Objekten

Was ist Hash?

Ein Hash-Objekt ist ein Objekt, das Daten mit einer Kombination aus Schlüssel und Wert darstellen kann.

Wie schreibe ich Hash

Hash wird mit mittleren Klammern und Doppelpunkten erstellt.

irb(main):082:0> user = { name: 'Masuyama' }
=> {:name=>"Masuyama"}

Typ zum Abrufen von Hash-Werten

Bei der Doppelpunkt-basierten Notation wie zuvor ist der Schlüssel ein Symbolobjekt. Sie können den entsprechenden Wert abrufen, indem Sie im Hash-Objekt ein Symbol angeben.

irb(main):083:0> user[:name]
=> "Masuyama"

Hash umschreiben

Sie können den Wert auch neu schreiben, indem Sie einen bestimmten Schlüssel angeben und den Wert zuweisen.

irb(main):095:0> user = { name: 'Masuyama' }
=> {:name=>"Masuyama"}
irb(main):096:0> user[:name] = 'Yamada'
=> "Yamada"
irb(main):097:0> user[:name]
=> "Yamada"

Holen Sie sich eine Liste der Schlüssel

Sie können die Schlüssel als Array mithilfe der Schlüsselmethode abrufen.

irb(main):110:0> users = { id: 1, name: 'Masuyama', age
: 29 }
=> {:id=>1, :name=>"Masuyama", :age=>29}
irb(main):111:0> users.keys
=> [:id, :name, :age]

Holen Sie sich eine Liste von Werten

Wie bei Schlüsseln können Sie die Methode values verwenden, um die Werte als Array abzurufen.

irb(main):112:0> users = { id: 1, name: 'Masuyama', age
: 29 }
=> {:id=>1, :name=>"Masuyama", :age=>29}
irb(main):113:0> users.values
=> [1, "Masuyama", 29]

jede Methode in Hash

Mit Hash können Sie jedes Element mit jeder Methode verarbeiten. Wenn Sie jede Methode für Hash verwenden, übergeben Sie sowohl Schlüssel als auch Wert an den Block.

irb(main):118:1* users.each do |k, v|
irb(main):119:1*   puts "#{k} = #{v}"
irb(main):120:0> end
id = 1
name = Masuyama
age = 29
=> {:id=>1, :name=>"Masuyama", :age=>29}

Hashwert löschen

Verwenden Sie die Löschmethode, um einige Schlüssel und Werte zu löschen. Geben Sie zu diesem Zeitpunkt den Schlüssel an, der im ersten Argument gelöscht werden soll.

irb(main):124:0> users
=> {:id=>1, :name=>"Masuyama", :age=>29}
irb(main):125:0> users.delete(:age)
=> 29
irb(main):126:0> users
=> {:id=>1, :name=>"Masuyama"}

Recommended Posts

Erklären von Ruby Hash-Objekten
Rubys Symbolobjekt erklären
Erklären von Rubys Enumerator-Objekt
Hash