Cursus Raku / Addendum 🆕 / Genera et machinae textuales / Obiecta et classes / Exercises / Vectores addere
Solutio: Vectores addere
Ecce solutio possibilis huius exercitationis.
Codex
class Vector {
has $.x;
has $.y;
method add(Vector $v) {
Vector.new(x => $.x + $v.x, y => $.y + $v.y);
}
method Str { "($.x, $.y)" }
}
my $sum = Vector.new(x => 1, y => 2).add(Vector.new(x => 3, y => 4));
put $sum;🦋 Inveni codicem fontem in archivo vector-add.raku.
Exitus
(4, 6)Commentarii
addneutrum vectorem mutat;Vectorprorsus novum ex componentibus summatis construit et reddit.Nota
Vectorintra definitionem suam propriam adhiberi — ut genus parametriVector $vet inVector.new. Hoc prorsus rectum est: nomen generis ex illo momento quo declaratio eius incipit notum est, itaque classis libere ad se ipsam in methodis propriis referre potest. Nulla declaratione praevia opus est.putargumentum suum per methodumStrin catenam vertit, itaque forma propria"($.x, $.y)"est id quod apparet.