【发布时间】:2012-08-28 14:54:48
【问题描述】:
在我的last Question 中,我正在寻找一种方法来扩展 Ruby 变量的能力。回答这个问题让我想到了一个新问题。显然,“猴子补丁”解决了这个问题的很大一部分,现在我至少可以用(a = 3).nat 的方式间接地进行打字,其中nat 是“猴子补丁”进入 Fixnum 检查天气“3”的方法是一个有效值。一开始还可以,但仍然有点笨拙和不直观。我最终真正需要的是一种方法来重写,扩展,拦截或重载到Fixnum的构造函数,以便a = 3直接调用方法nat。
有没有办法做到这一点?
我不仅对“正确的方式”感兴趣,它可能有点“hacky”。这仅用于我的研究,它可能是一种危险且不受支持的方式。
【问题讨论】:
-
ruby-forum 上关于 Fixnum 的相关讨论:ruby-forum.com/topic/679033
-
Fixnum 实际上没有构造函数——它没有
#new方法,因为它是一个立即值。
标签: ruby oop metaprogramming fixnum