RubyのHash
クラスにモンキーパッチを当てています。
class Hash
alias_method :_initialize, :initialize
def initialize
puts 'In my hash class'
_initialize
end
end
私がする時
Hash.new
期待どおりに動作します。しかし、 を受け取る関数があるとしましょうHash
。何かのようなもの、
foo 'a' => 'b'
この場合、私のHash
クラスは使用されません。Hash
クラスのinitialize
メソッドが呼び出されることを期待しています。なぜこのように振る舞うのですか?