Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / Métodos / Exercises / Un robot que camina
Solución: Un robot que camina
Aquí tienes una posible solución para la tarea.
Código
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;🦋 Puedes encontrar el código fuente en el archivo bank-account.raku.
Salida
8Comentarios
El atributo
positionesis rwpara que el método pueda cambiarlo, y su valor por defecto es0para que un robot recién creado arranque en el origen.El método
moveda a su parámetro un valor por defecto,$steps = 1. La llamada escueta$r.moveavanza por tanto un paso, mientras que$r.move(5)y$r.move(2)avanzan la cantidad indicada. Las tres llamadas suman5 + 1 + 2, así que la posición final es8.