上の表現に空白や記号を含めたい場合キーには任意の種類のオブジェクトを用いることができますが、以下の2つのメソッドが適切に定義してある必要があります。インスタンスはキーに向きません。キーとして使用します。呼ぶ必要性は生じません。ハッシュにはデフォルト値を設定することができます。デフォルト値には値形式とブロック形式があります。実際にデフォルト値がどのように扱われるかは各メソッドの説明を参照してください。ハッシュに含まれる要素の順序が保持されるようになりました。ハッシュにキーが追加された順序で列挙します。Hash[permalink][rdoc]新しいハッシュを生成します。引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。デフォルト値はコピーしません。引数otherと生成したハッシュは同じオブジェクトを参照することになるので、一方でキーや値に破壊的操作を行うともう片方にも影響します。ハッシュに変換できるオブジェクトです。Hash[permalink][rdoc]新しいハッシュを生成します。引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。このメソッドでは生成するハッシュにデフォルト値を指定することはできません。Hash.newを使うか、Hash#default=で後から指定してください。key_and_value:生成するハッシュのキーと値の組です。数個(0を含む)指定しなければいけません。ArgumentError:奇数個の引数を与えたときに発生します。以下は配列からハッシュを生成する方法の例です。Hash[permalink][rdoc]空の新しいハッシュを生成します。キーに対応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。デフォルト値として、毎回同一のオブジェクトifnoneを返します。それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。1]これを避けるには、破壊的でないメソッドで再代入する必要が有ります。破壊的操作を禁止しておくのが無難です。ifnone:キーに対応する値が存在しない時のデフォルト値です。Hash[permalink][rdoc]空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になります。設定したデフォルト値はHash#default_procで参照できます。値が設定されていないハッシュ要素を参照するとその都度ブロックを実行し、その結果を返します。ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。ArgumentError:ブロックと通常引数を同時に与えると発生します。破壊的変更によって他のキーに対応する値も変更されます。ブロックを評価するので、全て別のオブジェクトになります。ハッシュに変換しようとします。このメソッドは引数がハッシュであるかどうかを調べるために使えます。サブセットである場合に真を返します。オブジェクトを指定します。サブセットか同じである場合に真を返します。オブジェクトを指定します。メソッドで比較して全て等しい場合に真を返します。オブジェクトを指定します。サブセットである場合に真を返します。オブジェクトを指定します。サブセットか同じである場合に真を返します。オブジェクトを指定します。関連づけられた値を返します。該当するキーが登録されていない時には、デフォルト値を返します。key:探索するキーを指定します。