Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Methoden / Exercises / Ein laufender Roboter
Lösung: Ein laufender Roboter
Hier ist eine mögliche Lösung der Aufgabe.
Code
class Robot {
has $.position is rw = 0;
method move($steps = 1) {
$.position += $steps;
}
}
my $r = Robot.new;
$r.move(5);
$r.move;
$r.move(2);
say $r.position;🦋 Du findest den Quellcode in der Datei bank-account.raku.
Ausgabe
8Kommentare
Das Attribut
positionistis rw, damit die Methode es ändern kann, und es ist standardmäßig0, sodass ein frischer Roboter im Ursprung startet.Die Methode
movegibt ihrem Parameter einen Standardwert,$steps = 1. Der bloße Aufruf$r.moverückt daher um einen Schritt vor, während$r.move(5)und$r.move(2)um den angegebenen Betrag vorrücken. Die drei Aufrufe addieren5 + 1 + 2, die Endposition ist also8.