Ruby中的自我意味着什么?

Ren*_*nan -3 ruby self

ruby self代表什么?它是什么?这是什么意思?有人可以向我解释一下吗?简单来说,请问它在课堂上的功能是什么?

class MyClass
   def method.self
   end
end
Run Code Online (Sandbox Code Playgroud)

phi*_*ash 7

self 指的是当前在上下文中的对象.

在您的示例中,selfclass自身并且def self.method正在定义类方法.例如:

class MyClass
  def self.method
    puts "Hello!"
  end
end

> MyClass.method
#=> "Hello"
Run Code Online (Sandbox Code Playgroud)

您还可以self在类的实例上使用.

class MyClass
  def method_a
    puts "Hello!"
  end

  def method_b
    self.method_a
  end
end 

> m = MyClass.new
> m.method_b
#=> "Hello!"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,self指的是实例MyClass.

这里有一篇关于Ruby的自我博客文章,或者正如评论中指出的那样,在Ruby文档中还有更多内容.