c:\@Work\Perl>perl -wMstrict -le
"my @vectors = (
[ '--+-+', 122 ], [ '---++', 122 ], [ '?????', 0 ],
[ '-????', 1 ], [ '-???-', 101 ],
);
;;
my @map = (1, 7, 11, 3, 100);
;;
use Test::More 'no_plan';
;;
for my $ar_vector (@vectors) {
my ($s, $expected) = @$ar_vector;
;;
my $cvt = convert($s);
ok $cvt == $expected, qq{'$s' -> $expected (got $cvt)};
}
;;
sub convert {
my ($s) = @_;
;;
my $sum = 0;
$sum += substr($s, $_, 1) ne '?' ? $map[$_] : 0 for 0 .. length($s)
+-1;
return $sum;
}
"
ok 1 - '--+-+' -> 122 (got 122)
ok 2 - '---++' -> 122 (got 122)
ok 3 - '?????' -> 0 (got 0)
ok 4 - '-????' -> 1 (got 1)
ok 5 - '-???-' -> 101 (got 101)
1..5
|