Jump to content

Determine if a string is squeezable: Difference between revisions

→‎{{header|Perl 6}}: Add a Perl 6 example
(Added Go)
(→‎{{header|Perl 6}}: Add a Perl 6 example)
Line 253:
squeezes to:
««« --- Hary S Truman »»» (length 71).
</pre>
 
=={{header|Perl 6}}==
{{works with|Rakudo|2019.07.1}}
 
<lang perl6>map {
my $squeeze = $^phrase;
my $regex = rx/$^reg/;
$squeeze ~~ s:g/($reg)$0+/$0/;
printf "\nOriginal length: %d <<<%s>>>\nSqueezable on \"%s\": %s\nSqueezed length: %d <<<%s>>>\n",
$phrase.chars, $phrase, $reg.uniname, $phrase ne $squeeze, $squeeze.chars, $squeeze
},
'', ' ',
'"If I were two-faced, would I be wearing this one?" --- Abraham Lincoln ', '-',
'..1111111111111111111111111111111111111111111111111111111111111117777888', '7',
"I never give 'em hell, I just tell the truth, and they think it's hell. ", '.',
' --- Harry S Truman ', ' ',
' --- Harry S Truman ', '-',
' --- Harry S Truman ', 'r'</lang>
{{out}}
<pre>Original length: 0 <<<>>>
Squeezable on "SPACE": False
Squeezed length: 0 <<<>>>
 
Original length: 72 <<<"If I were two-faced, would I be wearing this one?" --- Abraham Lincoln >>>
Squeezable on "HYPHEN-MINUS": True
Squeezed length: 70 <<<"If I were two-faced, would I be wearing this one?" - Abraham Lincoln >>>
 
Original length: 72 <<<..1111111111111111111111111111111111111111111111111111111111111117777888>>>
Squeezable on "DIGIT SEVEN": True
Squeezed length: 69 <<<..1111111111111111111111111111111111111111111111111111111111111117888>>>
 
Original length: 72 <<<I never give 'em hell, I just tell the truth, and they think it's hell. >>>
Squeezable on "FULL STOP": False
Squeezed length: 72 <<<I never give 'em hell, I just tell the truth, and they think it's hell. >>>
 
Original length: 72 <<< --- Harry S Truman >>>
Squeezable on "SPACE": True
Squeezed length: 20 <<< --- Harry S Truman >>>
 
Original length: 72 <<< --- Harry S Truman >>>
Squeezable on "HYPHEN-MINUS": True
Squeezed length: 70 <<< - Harry S Truman >>>
 
Original length: 72 <<< --- Harry S Truman >>>
Squeezable on "LATIN SMALL LETTER R": True
Squeezed length: 71 <<< --- Hary S Truman >>>
</pre>
 
10,333

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.