Tag: 缺陷

JRuby的Kernel #__方法实现了吗?

这是根据Ruby-Doc.org对Kernel#__method__的描述(强调添加): 以符号forms返回当前方法定义的名称。 如果在方法之外调用,则返回nil 。 现在考虑以下代码段: DEFINITION = proc { __method__ } class C define_method :one, DEFINITION define_method :two, DEFINITION end o = C.new 当我使用MRI v1.8.7 +运行以下内容时,我得到了预期的结果: o.one #=> :one o.two #=> :two 但是当我使用JRuby 1.7+运行相同的代码时(我还没有测试过以前的版本): o.one #=> :two o.two #=> :two 这可能被认为是JRuby实现中的缺陷还是仅仅是对Kernel#__method__的不同解释?