gpt4 book ai didi

ruby - 如何获取类中的所有自定义方法?

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:45 25 4
gpt4 key购买 nike

module Test
class A
def hi
p 'hi'
end

def bye
p 'bye'
end

puts methods.sort
p '---------'
puts methods.sort - Object.methods
end
end

第二个 puts 不打印任何东西,第一个不打印“hi”和“bye”。为什么?

最佳答案

因为这两行都是在 A 类本身的范围内执行的,而 hibye实例方法那个类的。试试这个:

module Test
class A
def hi
p 'hi'
end

def bye
p 'bye'
end

puts instance_methods(false)
end
end

# >> hi
# >> bye

当您将 false 传递给 instance_methods 时,您指示它不包含父类(super class)的方法。

关于ruby - 如何获取类中的所有自定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16720783/

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