【ルビー合宿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”
で値を取り出すことができます。
プラスα キーと値を同時に取り出す時
・“オブジェクト.to_a”でキーと値の両方を取り出せます。
シンボルを使って記述するメリットは?
ハッシュをシンボルで記述すると、コード上では文字列のように見えていますが、内部的には数値として処理されます。数値として扱われるので、処理速度が速くなることと文字列としての役割も果たします。よって、ハッシュのキーにはシンボルを用いることが多いです。
以上