Hash[permalink][rdoc]空の新しいハッシュを生成します。キーに対応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。デフォルト値として、毎回同一のオブジェクトifnoneを返します。それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。1]これを避けるには、破壊的でないメソッドで再代入する必要が有ります。破壊的操作を禁止しておくのが無難です。ifnone:キーに対応する値が存在しない時のデフォルト値です。Hash[permalink][rdoc]空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になります。設定したデフォルト値はHash#default_procで参照できます。値が設定されていないハッシュ要素を参照するとその都度ブロックを実行し、その結果を返します。ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。ArgumentError:ブロックと通常引数を同時に与えると発生します。破壊的変更によって他のキーに対応する値も変更されます。ブロックを評価するので、全て別のオブジェクトになります。Hash#default=,Hash#default,Hash#default_proc。