Middle three digits: Difference between revisions
Content deleted Content added
Couldn't resist adding XPL0 |
Perl 6 section |
||
Line 141: | Line 141: | ||
middle_three_digits(0) returned: AssertionError('Need odd and >= 3 digits',) |
middle_three_digits(0) returned: AssertionError('Need odd and >= 3 digits',) |
||
>>> </lang> |
>>> </lang> |
||
=={{header|Perl 6}}== |
|||
<lang Perl6> |
|||
multi middle-three($n where * < 0) { say "$n is a negative number" } |
|||
multi middle-three($n where * %% 2) { say "$n has an even number of digits" } |
|||
multi middle-three($n where * < 3) { say "$n is too short" } |
|||
multi middle-three($n) { say "The three middle digits of $n are: ", $n.substr: ($n.chars - 3)/2, 3 } |
|||
middle-three($_) for |
|||
<123 12345 1234567 987654321 10001 -10001 -123 -100 100 -12345 1 2 -1 -10 2002 -2002 0>;</lang> |
|||
{{out}} |
|||
<pre>The three middle digits of 123 are: 123 |
|||
The three middle digits of 12345 are: 234 |
|||
The three middle digits of 1234567 are: 345 |
|||
The three middle digits of 987654321 are: 654 |
|||
The three middle digits of 10001 are: 000 |
|||
-10001 is a negative number |
|||
-123 is a negative number |
|||
-100 is a negative number |
|||
100 has an even number of digits |
|||
-12345 is a negative number |
|||
1 is too short |
|||
2 has an even number of digits |
|||
-1 is a negative number |
|||
-10 is a negative number |
|||
2002 has an even number of digits |
|||
-2002 is a negative number |
|||
0 has an even number of digits</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |