в источнике rails: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb
можно увидеть следующее
@load_hooks = Hash.new {|h,k| h[k] = [] }
Который в IRB просто инициализирует пустой хеш. В чем разница с выполнением
@load_hooks = Hash.new