Sparrow6.git | examples/tasks/between-multiple-expressions/ | task.check
between: {foo} {bar}
regexp: (A)(A)(A)
regexp: \d
regexp: (\d)(\d)(\d)
regexp: (\d)
code: <<CODE
!raku
say "foo .. bar start";
say "apply regexp: (A)(A)(A)";
say "apply regexp: \\d";
say "apply regexp: (\\d)(\\d)(\\d)";
say "apply regexp: (\\d)";
dump_streams();
use Data::Dump;
say Dump(streams_array());
CODE
generator: <<CODE
!raku
say "note: start stream check ...";
my @streams = streams().keys;
say "assert: ", ( @streams.elems == 2 ?? 1 !! 0 ), " 2 streams found (as hash)";
@streams = streams_array()<>;
say "assert: ", ( @streams.elems == 2 ?? 1 !! 0 ), " 2 streams found (as array, real value {@streams.elems})";
my $i = @streams[0][0][0];
say "assert: ", $i eq 'A' ?? 1 !! 0 , " stream[1,0,0](real value $i) == A \n";
$i = @streams[0][1][0];
say "assert: ", $i ~~ /^^ \s+ 00 \s* $$/ ?? 1 !! 0 , " stream[1,1,0](real value $i) ~~ 00";
$i = @streams[0][2][0];
say "assert: ", $i ~~ /^^ \s+ 111 \s* $$/ ?? 1 !! 0 , " stream[1,2,0](real value $i) ~~ $i";
say "note: start stream end ...";
CODE
end: