这是如何工作的?运行以下"hi from class"内容时打印两次.在ruby里面发生了什么让这个行为像这样?我实际上并不是为类创建实例方法
class Class
def foo
puts "hi from class"
end
end
Class.foo
x = Class.new
x.foo
Run Code Online (Sandbox Code Playgroud)
我不知道你是否意识到这一点,但是当你这样做时class Class ... end,你并没有创建一个名为的新类Class,而是重新打开现有的类Class.
因为Class类是所有类都是实例,这意味着它Class本身就是一个实例.因此,您可以在任何其他类Class上Class以相同的方式直接调用任何实例方法.
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |