diff options
| author | holli-holzer <holli.holzer@gmail.com> | 2020-01-06 17:32:56 +0100 |
|---|---|---|
| committer | holli-holzer <holli.holzer@gmail.com> | 2020-01-06 17:32:56 +0100 |
| commit | 337202a11512d90c3f3f06ef38b782d8b40242b9 (patch) | |
| tree | 210cef8b640288efbfeb94b2cdf14ba771477dea /challenge-042 | |
| parent | 895359996318bf38dd21c0461557e13cc13e4562 (diff) | |
| download | perlweeklychallenge-club-337202a11512d90c3f3f06ef38b782d8b40242b9.tar.gz perlweeklychallenge-club-337202a11512d90c3f3f06ef38b782d8b40242b9.tar.bz2 perlweeklychallenge-club-337202a11512d90c3f3f06ef38b782d8b40242b9.zip | |
Solutions Markus Holzer
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' }"; +} |
