Middle three digits: Difference between revisions

(→‎{{header|Perl 6}}: mark incorrect)
Line 143:
 
=={{header|Perl 6}}==
<lang Perl6>multi middle-three($n where * %% 2) { "$n has an even number of digits" }
{{Incorrect|Perl 6|Negative integer handling}}
<lang Perl6>multi middle-three($n where * < 0) { "$n is a negative number" }
multi middle-three($n where * %% 2) { "$n has an even number of digits" }
multi middle-three($n where *.chars < 3) { "$n is too short" }
multi middle-three($n) { "The three middle digits of $n are: ", $n.substr: ($n.chars - 3)/2, 3 }
"The three middle digits of $n are: " ~ .substr: (.chars - 3)/2, 3 given abs($n)
}
 
say middle-three($_) for
Line 157:
The three middle digits of 987654321 are: 654
The three middle digits of 10001 are: 000
The three middle digits of -10001 are: 000
-10001 is a negative number
The three middle digits of -123 are: 123
-123 is a negative number
-100 ishas aan negativeeven number of digits
100 has an even number of digits
The three middle digits of -12345 are: 234
-12345 is a negative number
1 is too short
2 has an even number of digits
-1 is atoo negative numbershort
-10 ishas aan negativeeven number of digits
2002 has an even number of digits
-2002 ishas aan negativeeven number of digits
0 has an even number of digits</pre>
 
1,934

edits