Middle three digits: Difference between revisions

Content added Content deleted
(→‎{{header|Ruby}}: Move output into pre element..)
(→‎{{header|Ruby}}: Improve output formatting.)
Line 563: Line 563:
end
end


samples = [
[ 123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345,
123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345,
1, 2, -1, -10, 2002, -2002, 0 ].each do |n|
1, 2, -1, -10, 2002, -2002, 0
]
width = samples.map { |n| n.to_s.length }.max

samples.each do |n|

print "#{n}: "
print "#{n}: "
begin
begin
Line 573: Line 580:
end</lang>
end</lang>
Output:
Output:
<pre>123: 123
<pre> 123: 123
12345: 234
12345: 234
1234567: 345
1234567: 345
987654321: 654
987654321: 654
10001: 000
10001: 000
-10001: 000
-10001: 000
-123: 123
-123: 123
-100: 100
-100: 100
100: 100
100: 100
-12345: 234
-12345: 234
1: Number must have at least three digits
1: Number must have at least three digits
2: Number must have at least three digits
2: Number must have at least three digits
-1: Number must have at least three digits
-1: Number must have at least three digits
-10: Number must have at least three digits
-10: Number must have at least three digits
2002: Number must have an odd number of digits
2002: Number must have an odd number of digits
-2002: Number must have an odd number of digits
-2002: Number must have an odd number of digits
0: Number must have at least three digits</pre>
0: Number must have at least three digits
</pre>

=={{header|Rust}}==
=={{header|Rust}}==
<lang rust>fn middle_three_digits(x: int) -> Result<~str, ~str> {
<lang rust>fn middle_three_digits(x: int) -> Result<~str, ~str> {