Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Metodoj / Exercises / Marŝanta roboto
Solvo: Marŝanta roboto
Jen ebla solvo de la tasko.
Kodo
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;🦋 Vi povas trovi la fontkodon en la dosiero bank-account.raku.
Eligo
8Komentoj
La atributo
positionestasis rw, por ke la metodo povu ŝanĝi ĝin, kaj ĝi defaŭltas al0, do freŝa roboto komenciĝas ĉe la origino.La metodo
movedonas al sia parametro defaŭltan valoron,$steps = 1. La nuda voko$r.movedo antaŭeniras je unu paŝo, dum$r.move(5)kaj$r.move(2)antaŭeniras je la donita kvanto. La tri vokoj aldonas5 + 1 + 2, do la fina pozicio estas8.