回答編集履歴
1
キーに使える型の条件(るりまより引用)
answer
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
> ハッシュのキーは [:key] という風に 『:』を先頭に持ってこなければならないと
|
2
2
|
習いました。
|
3
3
|
|
4
|
-
全くそんな事はありません。Rubyでは、シンボルだけでなく、文字列、数値、`true`・`false`・`nil`、クラス自体も含めて、**多くの種類の値**をキーに使うことができます。実際、複雑なデータを記録する際に、「配列をキーにしたハッシュ」も作ったことがあります。
|
4
|
+
全くそんな事はありません。Rubyでは、シンボルだけでなく、文字列、数値、`true`・`false`・`nil`、クラス自体も含めて、**多くの種類の値**をキーに使うことができます。実際、複雑なデータを記録する際に、「配列をキーにしたハッシュ」も作ったことがあります。
|
5
|
+
|
6
|
+
> キーには任意の種類のオブジェクトを用いることができますが、 以下の2つのメソッドが適切に定義してある必要があります。
|
7
|
+
`Object#hash` ハッシュの格納に用いられるハッシュ値の計算
|
8
|
+
`Object#eql?` キーの同一性判定
|
9
|
+
([るりま](https://docs.ruby-lang.org/ja/latest/class/Hash.html)より)
|