首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么monkeypatching Hash.new不起作用?

为什么monkeypatching Hash.new不起作用?
EN

Stack Overflow用户
提问于 2013-03-20 12:31:09
回答 1查看 131关注 0票数 4

我正在胡乱拼凑Ruby的Hash类。

代码语言:javascript
复制
class Hash
  alias_method :_initialize, :initialize

  def initialize
     puts 'In my hash class'
     _initialize
  end
end

当我这样做的时候

代码语言:javascript
复制
Hash.new

它的工作方式与预期一致。但是假设我有一个接受Hash的函数。像这样,

代码语言:javascript
复制
foo 'a' => 'b'

在本例中,没有使用我的Hash类。我希望调用我的Hash类的initialize方法。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 12:56:48

因为文字散列不会调用Hash.new将调用的initialize方法。

Hash['a', 'b']Hash['a' => 'b']相同

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15515370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档