【发布时间】:2012-02-01 01:37:30
【问题描述】:
我最近一直在练习一些 Ruby 元编程,并且想知道 assigning anonymous classes to constants。
在 Ruby 中,可以按如下方式创建匿名类:
anonymous_class = Class.new # => #<Class:0x007f9c5afb21d0>
可以创建此类的新实例:
an_instance = anonymous_class.new # => #<#<Class:0x007f9c5afb21d0>:0x007f9c5afb0330>
现在,当匿名类被分配给一个常量时,该类现在有了一个正确的名称:
Foo = anonymous_class # => Foo
之前创建的实例现在也是该类的一个实例:
an_instance # => #<Foo:0x007f9c5afb0330>
我的问题:匿名类赋值给常量的那一刻有没有钩子方法?
Ruby中有很多hooks methods,但是我找不到这个。
【问题讨论】:
-
AFAIK 仍然没有用于变量赋值的钩子,常量或其他 (see here for same question a long time ago)。全球人,是的。
标签: ruby class hook metaprogramming constants