Mam moduł, który istnieje mają być zawarte w dwóch podobnych klas. Niektóre metody uwzględniane w module dla identycznego użycia przez obie klasy zwracają nową instancję.Jak zwrócić nową instancję siebie z rubinowym metody instancji
Ale jak zakodować w module że konstruktor dla klasy zawierającej należy zwany?
Uproszczony przykład:
module Point3D
def initialize(x,y,z)
@x = x
@y = y
@z = z
end
def * (scalar)
<myclass>.new(@x * scalar, @y * scalar, @z * scalar)
end
end
class Vertex
include Point3D
end
class Vector
include Point3D
end
Tak w definicji *
jak nazwałbym konstruktora tak, że w kontekście klasy Vertex powrócił nowy Vertex oraz w kontekście klasy Vector to zwrócił nowy wektor bez redeclaring wszystkich takich metod w każdej klasie?
ah man .. pokonałeś mnie sekundą. : @ –