MST

星途 面试题库

面试题:Ruby中反射机制如何获取类的方法列表

在Ruby中,给定一个自定义类,例如class MyClass; def my_method; end; end ,如何使用反射机制获取MyClass类中定义的所有实例方法名称?请写出具体代码。
39.5万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试
class MyClass
  def my_method
  end
  def another_method
  end
end

method_names = MyClass.instance_methods(false)
puts method_names.inspect

在上述代码中:

  1. MyClass.instance_methods(false) 用于获取 MyClass 类自身定义的实例方法名称,不包含从祖先类继承的方法。false 参数表示不包含继承的方法,如果省略该参数或为 true,则会包含继承的方法。
  2. 最后使用 puts 输出这些方法名称的数组。