【ルビー合宿1】ハッシュを扱う

(問題1)

1
2
puts hash.keys
puts hash.values

上記のメソッドを実行した時に

1
2
3
4
5
6
one
two
three
1
2
3

とターミナルに表示されるような変数hashを作成するためのコードをシンボルを使って記述してください。

 

(解答)

hash = { one: 1, two: 2, three: 3 }

 (考察)

ハッシュはHashクラスのオブジェクトでキーとを組み合わせたデータを管理します。

ハッシュオブジェクトでキーだけを取り出したい場合は、Hashクラスのkeysメソッドを使います。

“オブジェクト.keys”

でキーを取り出すことができます。

続いて、ハッシュオブジェクトから値だけを取り出したい場合です。Hashクラスのvaluesメソッドを使います。

“オブジェクト.values”

で値を取り出すことができます。

https://techacademy.jp/magazine/197

 

プラスα キーと値を同時に取り出す時

  ・“オブジェクト.to_a”でキーと値の両方を取り出せます。

 

シンボルを使って記述するメリットは?

ハッシュをシンボルで記述すると、コード上では文字列のように見えていますが、内部的には数値として処理されます。数値として扱われるので、処理速度が速くなることと文字列としての役割も果たします。よって、ハッシュのキーにはシンボルを用いることが多いです。

 

以上