Ruby 中的 self 是什么意思?

What does self mean in Ruby?

rubyself代表什么?它是什么?这是什么意思?有人可以给我解释一下吗?请简而言之 它在class中的作用是什么?

class MyClass
   def method.self
   end
end

self 引用当前在上下文中的对象。

在您的示例中,selfclass 本身,而 def self.method 正在定义 class 方法。例如:

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

> MyClass.method
#=> "Hello"

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

class MyClass
  def method_a
    puts "Hello!"
  end

  def method_b
    self.method_a
  end
end 

> m = MyClass.new
> m.method_b
#=> "Hello!"

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

self in Ruby here, or, as it was pointed out in the comments, there is some more on this in the Ruby documentation 上有一个很好的博客 post。