test.git | .dsci/ | task.bash
set -e
echo "hello DSCI"
cat << 'HERE' > test.raku
class Check {
has $.tr;
method validate($i) {
if $i > 0 {
say "reach the limit, i=$i"
} else {
say "hello from validate i=$i";
self.tr.task-run($i+1);
}
}
}
class Foo {
has @.data is rw;
method task-run($i) {
say "hello from task run i=$i";
self.run-task($i);
say "task-run i=$i data: ", self.data;
self.check($i);
say "task-run i=$i data after calling method check: ", self.data();
}
method run-task($i) {
say "hello from run-task i=$i, set data to [$i]";
self.data = ["$i"];
}
method check($i) {
say "hello from check i=$i";
my $tc = Check.new(
tr => self.clone
);
$tc.validate($i);
}
}
my $i = Foo.new;
$i.task-run(0);
HERE
rakupp test.raku