diff options
Diffstat (limited to 'challenge-042')
| -rw-r--r-- | challenge-042/markus-holzer/perl6/ch-1.p6 | 1 | ||||
| -rw-r--r-- | challenge-042/markus-holzer/perl6/ch-2.p6 | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-042/markus-holzer/perl6/ch-1.p6 b/challenge-042/markus-holzer/perl6/ch-1.p6 new file mode 100644 index 0000000000..a5faa3c2b2 --- /dev/null +++ b/challenge-042/markus-holzer/perl6/ch-1.p6 @@ -0,0 +1 @@ +.say for (^51).map( *.base(8) )
\ No newline at end of file diff --git a/challenge-042/markus-holzer/perl6/ch-2.p6 b/challenge-042/markus-holzer/perl6/ch-2.p6 new file mode 100644 index 0000000000..7fea6b3df8 --- /dev/null +++ b/challenge-042/markus-holzer/perl6/ch-2.p6 @@ -0,0 +1,25 @@ +sub generate-string +{ + my @braces = "(", ")"; + my $length = ( 2 ..^ 6 ).pick; + my @string = ( 0 .. $length ).map({ @braces.pick }); + @string.join( "" ); +} + +sub test-string( $string ) +{ + my token opening-brace { \( }; + my token closing-brace { \) }; + my token balanced-braces { + ( <opening-brace>+ ) <closing-brace> ** { $0.chars } + }; + + so $string ~~ /^ <balanced-braces> $/; +} + +for ( ^50 ) +{ + my $string = generate-string; + my $result = test-string( $string ); + say "$string is { $result ?? 'balanced' !! 'unbalanced' }"; +} |
