から継承するサブクラスを作成すると、インスタンスではなくサブクラスのインスタンスが返されるDatetime
ことに気付きました。.now
Datetime
class MyDateTime < DateTime
end
MyDateTime.now
>#<MyDateTime: 2012-06-05T16:42:57+08:00 ((2456084j,31377s,900801494n),+28800s,2299161j)>
魔法のようです。私は自分のクラスでこの動作を再現できません:
class A
def self.a
return A.new
end
end
class B < A
end
B.a
#<A:0x00000001e22358>
のソースコードを読もうとしましたDateTime
が、C で書かれています。それが属するクラスのインスタンスを返すクラスメソッドを書くことは可能ですか?