Ruby 中 self 关键字的作用是什么?

· 约 3 分钟读完 · 第 77 / 199 章

推荐答案

在 Ruby 中,self 关键字用于引用当前对象或当前上下文。它可以在类方法、实例方法以及模块中使用,具体作用取决于其所在的上下文。

  1. 在实例方法中:self 引用的是当前调用该方法的对象实例。
  2. 在类方法中:self 引用的是类本身。
  3. 在模块中:self 引用的是模块本身。

本题详细解读

1. 在实例方法中使用 self

在实例方法中,self 指向当前调用该方法的对象实例。通过 self,可以访问当前对象的属性和方法。

在这个例子中,self.name 引用了当前对象的 name 属性。

2. 在类方法中使用 self

在类方法中,self 指向类本身。类方法通常用于定义与类相关的操作,而不是与实例相关的操作。

在这个例子中,self.species 定义了一个类方法,self 指向 Person 类。

3. 在模块中使用 self

在模块中,self 指向模块本身。模块通常用于封装方法和常量,以便在其他类中复用。

在这个例子中,self.hello 定义了一个模块方法,self 指向 Greeting 模块。

4. self 的其他用途

  • 在类定义中:self 可以用来定义类方法。
  • 在单例类中:self 可以用来定义单例方法。
  • 在方法链中:self 可以用来返回当前对象,以便进行链式调用。

在这个例子中,self 用于返回当前对象,使得方法可以链式调用。