小编jay*_*ed1的帖子

Ruby-获取定义的类名

如何获得定义方法的类?

我已经找到了如何查找后代和ansestors的方法:查找Ruby中一个类的所有后代

但这并不一定会让我得到定义类(实际上是最后一个定义类)。

我已经找到了如何获取调用类: Ruby Inheritance Get Caller Class Name

但我要相反。我想如何获得定义类。

我也试过了Module.nesting。在这种情况下,这就是我想要的,但是我担心,在我没有最终控制权的更大的代码库中,这将是不一致的并且不可接受的。

puts RUBY_VERSION


# Test class vs super.
class Super
    def test_func
      puts "#{self.class}, #{ __method__}"
    end
end

class Child < Super
  def test_func2
     self.test_func
  end
end

Child.new.test_func
Run Code Online (Sandbox Code Playgroud)

我曾希望:

1.8.7

超级,test_func

但是得到了:

1.8.7

孩子,test_func

ruby

1
推荐指数
1
解决办法
53
查看次数

标签 统计

ruby ×1