Tengo un módulo que existe para ser incluido en dos clases similares. Algunos de los métodos que se incluirán en el módulo para uso idéntico por ambas clases devuelven una nueva instancia.Cómo devolver una nueva instancia de self desde un método de instancia de ruby
Pero, ¿cómo codificar en el módulo que se debe llamar al constructor de la clase contenedora?
Un ejemplo simplificado:
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
lo tanto, en la definición de *
¿Cómo puedo llamar al constructor de tal manera que en el contexto de la clase Vertex volvió un nuevo vértice y en el contexto de la clase Vector es devuelto un nuevo vector sin volver a definir todos los métodos en cada clase?
ah hombre ... me ganaste por segundos. : @ –