ruby self
代表什么?它是什么?这是什么意思?有人可以向我解释一下吗?请简单说明
它在课堂上的功能是什么?
class MyClass
def method.self
end
end
答案 0 :(得分:5)
self
指的是当前处于上下文中的对象。
在您的示例中,self
是class
本身,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还有更多内容。