質問するログイン新規登録

回答編集履歴

1

キーに使える型の条件(るりまより引用)

2018/11/24 11:27

投稿

maisumakun
maisumakun

スコア146775

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)より)