Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- my %ranges;
- for 0..20 {
- %ranges{$_} = '<control>';
- }
- for 80.. 90 {
- %ranges{$_} = '<control>';
- }
- my $first;
- my $last;
- my @r_iter = %ranges.keys.sort(+*);
- my $range-no = 0;
- my $i = 0;
- my %range-nos = 0 => 'first' => Nil;
- sub set-range ( Cool $point ) {
- say "see point $point";
- state $range-no = 0;
- # If a first point doesn't exist, this is the first point of a new range
- if !%range-nos {
- %range-nos{$range-no}<first> = $point;
- }
- # if the points are just one off we're part of the same range
- elsif %range-nos{$range-no}<last> + 1 == $point {
- %range-nos{$range-no}<last> = $point;
- }
- # Otherwise it's part of a new range
- else {
- %range-nos{$range-no}<first> = $point
- }
- }
- for %ranges.keys.sort(+*) {
- set-range $_;
- }
- say %range-nos.perl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement