T
Trans
I want to call a class level method from the the instance level, but I
need it to go through the singeton if it exists. Here is the most basic
example:
class X
def self.f ; "A" ; end
def g ; self.class.f ; end
end
x = X.new
x.g #=> "A"
def x.f; "B"; end
x.g #=> "A"
How do I get the last to return "B"? I know I could use
'(class<<self;self;end)' instead of 'self.class', but that will create
a singelton even if doesn't exist, which seems very wasteful. Yet I
don't recall any (non-hack) way to detect if a singleton is defined. Is
there?
It would be nice if there was a reference with which we could call up
through the class level like this.
T.
need it to go through the singeton if it exists. Here is the most basic
example:
class X
def self.f ; "A" ; end
def g ; self.class.f ; end
end
x = X.new
x.g #=> "A"
def x.f; "B"; end
x.g #=> "A"
How do I get the last to return "B"? I know I could use
'(class<<self;self;end)' instead of 'self.class', but that will create
a singelton even if doesn't exist, which seems very wasteful. Yet I
don't recall any (non-hack) way to detect if a singleton is defined. Is
there?
It would be nice if there was a reference with which we could call up
through the class level like this.
T.