Ruby 中如何获取对象的信息?

· 约 2 分钟读完 · 第 127 / 199 章

推荐答案

在 Ruby 中,可以通过以下方法获取对象的信息:

  1. #class 方法:获取对象的类。
  2. #inspect 方法:返回对象的可读字符串表示。
  3. #methods 方法:获取对象的所有公共方法。
  4. #instance_variables 方法:获取对象的所有实例变量。
  5. #respond_to? 方法:检查对象是否响应某个方法。

示例代码:

本题详细解读

#class 方法

#class 方法返回对象的类。例如,person.class 返回 Person,表示 person 是 Person 类的实例。

#inspect 方法

#inspect 方法返回对象的可读字符串表示,通常用于调试。它会显示对象的类名、内存地址以及实例变量的值。

#methods 方法

#methods 方法返回对象的所有公共方法,包括继承自父类的方法。可以通过 #methods(false) 只获取对象自身定义的方法。

#instance_variables 方法

#instance_variables 方法返回对象的所有实例变量,以符号形式表示。例如,[:@name, :@age] 表示对象有两个实例变量 @name 和 @age。

#respond_to? 方法

#respond_to? 方法用于检查对象是否响应某个方法。例如,person.respond_to?(:name) 返回 true,表示 person 对象有 name 方法。

通过这些方法,可以全面了解 Ruby 对象的结构和行为。