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