3-2-3 ハッシュについて理解を深める
ハッシュに要素を追加する別の方法
ハッシュに要素を追加するには、前ページ「3-2-2 ハッシュの色々な書き方とデータの追加・削除をしてみよう」で確認したように、<<
演算子を使います。
また、ハッシュに要素を追加するには別の方法もあります。ハッシュ(Hash)クラスのstore
メソッドを使う方法です。
store
メソッドは第一引数にキー名を、第二引数に値を指定して利用します。
先ほどの体験でchild
変数に格納されたハッシュに:age => 7
を追加した例では、child.store :age, 7
と記述することもできます。
ハッシュのdeleteメソッド
ハッシュの要素を削除するにはdelete
メソッドを使います。
前ページ「3-2-2 ハッシュの色々な書き方とデータの追加・削除をしてみよう」で確認した通り、delete
メソッドの引数にキー名を指定することで該当のキーと値のペアを削除することができます。
配列のdelete
メソッドとほぼ同等の機能ですが、ハッシュのdelete
メソッドはハッシュクラスが提供するものであり、配列クラスが提供するdelete
メソッドとは区別されます。
存在しないキー名を指定した場合
ハッシュが格納された変数に存在しないキー名を与えた場合はどうなるでしょうか?
この場合は当然値も未定義なので、Rubyでは「無」を意味するnil
が返却されます。
以下は前ページ「3-2-2 ハッシュの色々な書き方とデータの追加・削除をしてみよう」でchild
変数から:age => 7
の要素を削除した後にchild[:age]
を表示してみた様子です。
irb(main):002:0> child[:age] => nil irb(main):003:0>
irb上でnil
が返却されていることが確認できます。