ich von leicht erben kann, sagen wir, String
zum Beispiel wie folgt aus:Wie kann ich von Rational (oder einer Klasse ohne Konstruktor) erben?
class MyString < String
def stuff
self + ' and stuff'
end
end
# This works:
MyString.new('things').stuff # => 'things and stuff'
Aber wie kann ich erben von Rational
, die keinen Konstruktor hat? Zum Beispiel:
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!
Ich kann keinen Weg finden, meine neue Klasse zu initialisieren.
Warum schreiben Sie nicht Ihre eigene '# initialize' Methode? –
@ArupRakshit kann ich nicht. Wie würde ich das tun? – Doorknob