Ruby の Hash でキーが存在しなかった時の初期値を設定する

table = []
table[index] ||= []
table[index] << name

みたいに [] で初期化するようなコードは

table = Hash.new { |hash, key| hash[key] = [] }

table[index] << name

という風に .new に渡すブロック内で値を初期化することができる。