我可以很容易地从,比如继承,String
例如,像这样:如何从Rational继承(或任何没有构造函数的类)?
class MyString < String
def stuff
self + ' and stuff'
end
end
# This works:
MyString.new('things').stuff # => 'things and stuff'
但我怎么可以从Rational
继承,它没有构造?例如:
def MyRat < Rational
def inc
self + 1
end
end
# I have tried to initialize like this:
MyRat.new(10).inC# => NoMethodError: undefined method `new' for MyRat:Class
MyRat(10).inC# => NoMethodError: undefined method `MyRat' for main:Object
MyRat.send(:initialize, 10).inc # => TypeError: already initialized class
# ???
# None of it works!
我找不到初始化我的新类的方法。
为什么不写你自己的'#initialize'方法? –
@ArupRakshit我不能。我会怎么做? – Doorknob