gpt4 book ai didi

ruby - 获取常量的所有者

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:43 24 4
gpt4 key购买 nike

使用(n 继承)方法,可以通过以下方式实现定义它的接收器/类:

class A
def foo; end
end

class B < A
end

B.instance_method(:foo).owner # => A

对于(n 继承的)常量,没有对应的instance_methodmethod 方法,因此它并不简单。是否可以在定义的地方实现类?

class A
Foo = true
end

class B < A
end

B.some_way_to_extract_the_owner_of_constant(:Foo) # => A

最佳答案

例如,下面的代码:

class A
Foo = true
end

class B < A
end

B.ancestors.find { |klass| klass.const_defined? :Foo, false }
# => A

关于ruby - 获取常量的所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com