Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. my %ranges;
  2. for 0..20 {
  3. %ranges{$_} = '<control>';
  4. }
  5. for 80.. 90 {
  6. %ranges{$_} = '<control>';
  7. }
  8. my $first;
  9. my $last;
  10. my @r_iter = %ranges.keys.sort(+*);
  11. my $range-no = 0;
  12. my $i = 0;
  13. my %range-nos = 0 => 'first' => Nil;
  14. sub set-range ( Cool $point ) {
  15. say "see point $point";
  16. state $range-no = 0;
  17. # If a first point doesn't exist, this is the first point of a new range
  18. if !%range-nos {
  19. %range-nos{$range-no}<first> = $point;
  20. }
  21. # if the points are just one off we're part of the same range
  22. elsif %range-nos{$range-no}<last> + 1 == $point {
  23. %range-nos{$range-no}<last> = $point;
  24. }
  25. # Otherwise it's part of a new range
  26. else {
  27. %range-nos{$range-no}<first> = $point
  28. }
  29. }
  30.  
  31. for %ranges.keys.sort(+*) {
  32. set-range $_;
  33. }
  34. say %range-nos.perl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement