12345678910111213141516171819202122 |
- #!/usr/bin/ruby
- #
- ## https://rosettacode.org/wiki/Rep-string
- #
- var array = <1001110011 1110111011
- 0010010010 1010101010
- 1111111111 0100101101
- 0100100 101 11 00 1>;
-
- array.each { |n|
- if (var m = (n =~ /^(.+)\1+(.*$)(?(?{ substr($1, 0, length $2) eq $2 })|(?!))/)) {
- var i = m[0].len;
- say (n.substr(0, i),
- n.substr(i, i).tr('01', '𝟘𝟙'),
- n.substr(i*2));
- } else {
- say "#{n} (no repeat)";
- }
- }
|