Ruby中的自我意味着什么?

时间:2016-01-31 17:53:46

标签: ruby self

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

class MyClass
   def method.self
   end
end

1 个答案:

答案 0 :(得分:5)

self指的是当前处于上下文中的对象。

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

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

> MyClass.method
#=> "Hello"

您还可以在课程实例上使用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上有一篇很好的博文,或者正如评论中指出的那样,Ruby documentation还有更多内容。