Un objet Hash est un objet qui peut représenter des données avec une combinaison de clé et de valeur.
Le hachage est créé à l'aide de parenthèses et de deux-points.
irb(main):082:0> user = { name: 'Masuyama' }
=> {:name=>"Masuyama"}
Dans le cas de la notation basée sur deux points comme précédemment, la clé est un objet symbole. Vous pouvez récupérer la valeur correspondante en spécifiant un symbole dans l'objet de hachage.
irb(main):083:0> user[:name]
=> "Masuyama"
Vous pouvez également réécrire la valeur en spécifiant une clé spécifique et en attribuant la valeur.
irb(main):095:0> user = { name: 'Masuyama' }
=> {:name=>"Masuyama"}
irb(main):096:0> user[:name] = 'Yamada'
=> "Yamada"
irb(main):097:0> user[:name]
=> "Yamada"
Vous pouvez obtenir les clés sous forme de tableau en utilisant la méthode keys.
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]
Comme les clés, vous pouvez utiliser la méthode values pour obtenir les valeurs sous forme de tableau.
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]
Avec le hachage, vous pouvez traiter chaque élément avec chaque méthode. Si vous utilisez la méthode each pour le hachage, vous passerez à la fois la clé et la valeur au bloc.
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}
Utilisez la méthode de suppression pour supprimer certaines clés et valeurs. À ce stade, spécifiez la clé à supprimer dans le premier argument.
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"}