Vektorielle Operationen

Alle Klassen, die bestimmte Operationen nicht definiert haben, können trotzdem ihre Objekte durch eine automatisch angepasste vektorielle Operation operieren. D.h. ein Objekt mit x Unterobjekten wird als x-dimensionaler Vektor interpretiert, sobald eine für die Klasse unbekannte Operation durchgeführt wird.

Ebenso können auch Gruppen und Queues vektoriell operiert werden.

Um die zu verwendende Menge an Unterobjekten für vektorielle Operationen zu bestimmen, kann man die Auto-Klassenmethode _vec benutzen.

Beipsiel:

'Die Klasse:
def point{
  _new(){
    this def x, y
  }
  _def(){
    this pop x, y
  }
  _form(){
    return "(#(x), #(y))"
  }
}

out point(2, 2) + point(1, 3) '= (3, 5)
out point(1, 3) * 2           '= (2, 6)
out point(5, 2) - [5, 2]      '= (0, 0)

Top | Home | Index