【发布时间】:2018-06-28 16:55:36
【问题描述】:
class A
@@class_var = "A class variable"
def initialize
@var = "A instance variable"
end
def m1
puts @var
end
def m2
puts @@class_var
end
end
class << A
def self.m3
puts "im m3"
end
end
方法 m3 发生了什么以及如何访问 m3 方法以及它将在类或元类中的何处定义?但是,如果我尝试使用 A.m3 或 Object 类方法访问它,它就不存在了!!
【问题讨论】:
-
简短的回答是删除
self。 -
这有点像问“我写了这段代码,但我不知道它是做什么的,是吗?” :-) 你想要完成什么?跨度>
标签: ruby metaprogramming metaclass class-method